Я лично пошел бы с Java, так как это является многоплатформенным и более простым, чем C++. Можно использовать JavaFx для GUI (Swing является также опцией, но кажется, что JavaFx является официальной платформой GUI теперь), и java-simple-serial-connector для взаимодействия через интерфейс с последовательным портом.
Когда вы находитесь на экране входа в систему, вы можете выбрать, какой рабочий стол вы хотите использовать, как на скриншоте здесь
Установка KDE
Чтобы установить KDE (что, возможно, уже сделано), вы устанавливаете один из следующих пакетов:
kde-plasma-desktop
Это позволит установить только минимальное ядро приложений и утилит KDE. Хорошо, если вы хотите использовать KDE, но вам не нужны все приложения и утилиты, которые поставляются с ним.
kde-full
Это позволит установить более полный спектр приложений и утилит KDE.
Если у вас установлены другие среды рабочего стола, это приведет к удвоению количества приложений (например, с установленными эквивалентами Gnome и KDE). Это не обязательно плохо, так как дает выбор и позволяет (если вы хотите) использовать все, что будет использовать пользователь KDE.
kubuntu-desktop
При этом устанавливается полный рабочий стол Kubuntu, включающий полный набор KDE, а также весь внешний вид Ubuntu «Kubuntu», включая заставки и приветствия. Он также устанавливает дополнительные приложения, которые обычно устанавливаются Kubuntu, такие как Kontact и Konversation.
Обычно это не рекомендуется, если у вас также установлены другие среды рабочего стола, потому что это меняет заставку и приветствие на Kubuntu.
Выбор KDE при входе в систему