Я не большой поклонник «отрицательных ответов», но я хотел поделиться тем, что сам нашел в некоторых исследованиях по этому вопросу.
Опять же, как я упоминал в комментариях, я ни в коем случае не являюсь экспертом в этой области, но (я думаю) я знаю достаточно, чтобы понять, что происходит при чтении документации. Тем не менее, я был бы более чем счастлив ошибиться, и чтобы кто-то опубликовал ответ о том, как это сделать.
Даже если это возможно, это нет быть простым, и определенно не в наборе навыков новичка в Linux. Без обид — мы все были там и рады видеть вас на борту!
Я думаю, у вас есть интересная идея, и я бы хотел увидеть ее реализацию, если честно. Но "легко" не будет, я не верю.
Есть (на очень высоком уровне) несколько задач, которые я вижу здесь:
Похоже, темы sddm написаны на QML, язык моделирования Qt. Базовая тематика не должна быть слишком плохой, тем более что есть много примеров для работы. Но в какой-то степени вам нужно будет выучить язык. Это не очень удобная задача для начинающих. Если вы хотите в конечном итоге перейти к приведенному вами примеру, по крайней мере, начните с изучения «базовой» тематики (без взгляды
и выборка экрана
) первый.
Как вы упомянули в комментариях, я также не видел примеров тем, которые запускали терминальные приложения (или любое приложение) при прокрутке несколько страниц тем.
Во-вторых, вам нужно иметь возможность запускать виджеты терминала в коде QML. В QML нет встроенного способа сделать это, но есть находятся некоторые варианты там. Например, этот вопрос о переполнении стека указывает на QTermWidget. На самом деле это часть проекта LXQt, который, конечно же, использует lubuntu. Так что это может быть не так уж плохо (по крайней мере, для опытного разработчика Qt).
Наконец, вам нужно будет запускать эти приложения с предварительным входом в систему с ограниченным доступом. Опять же, я не уверен, как это сделать в sddm, но я ожидаю, что это будет «легкая часть». Тем не менее, я думаю, что для этого вам потребуется больше опыта работы с Linux (особенно для безопасного выполнения).