Zdarzyło się Wydanie kmscon 10.0 – emulatora terminala, który został stworzony jako zamiennik konsoli rdzeniowej. Zamiast podsystemu rdzenia vt, kmscon wykorzystuje KMS i realizuje niezbędną funkcjonalność w przestrzeni użytkownika.
Dzięki temu podejściu rozwiązywany jest problem niskiej jakości kodu w podsystemie vt oraz braku doświadczenia w jego obsłudze, co praktycznie uniemożliwia dalszy rozwój tego podsystemu.
Możliwości kmscon:
- możliwość konfigurowania wszystkich opcji za pomocą argumentów wiersza poleceń lub pliku konfiguracyjnego;
- możliwość określenia urządzenia do wyjścia. Obsługiwane są urządzenia fbdev i DRM;
- możliwość ustalania trybu wideo (rozdzielczość i orientacja ekranu);
- możliwość dostosowania niestandardowej palety kolorów;
- możliwość skonfigurowania sprzętowego przyspieszenia grafiki za pomocą GLESv2;
- możliwość automatycznego wyłączania wyświetlacza po upływie czasu w przypadku braku aktywności;
- Wsparcie dla przełączanych sesji za pomocą skrótów klawiszowych (analog sesji VT), maksymalna liczba sesji domyślnie wynosi 50;
- Renderowanie nowoczesnych czcionek z obsługą hintingu, podpróbkowania i wszystkich innych funkcji dostarczanych przez biblioteki freetype i pango. Obsługiwane są również czcionki GNU Unifont i standardowe czcionki 8×16. W pełni zaimplementowano Unicode;
- możliwość określenia rozmiarów czcionek, w tym za pomocą skrótów klawiszowych w trakcie działania, co rozwiązuje problem ich wyświetlania na wyświetlaczach HiDPI;
- integracja z libxkbcommon, w tym możliwość określenia modelu i układu klawiatury;
- wsparcie dla myszy. Można używać zarówno kursora programowego, jak i sprzętowego;
- wsparcie dla przewijania tekstu (bufor przewijania), zarówno dzięki skrótom klawiszowym, jak i za pomocą kółka myszy. Przy użyciu myszy można skonfigurować naturalne przewijanie.
Jak to działa
kmscon uruchamia się przy starcie systemu jako zwykła usługa przy użyciu twojego systemu inicjalizacji.
Jeśli kmscon wykryje urządzenia VT w systemie, znajduje wolne i zajmuje je. Dzięki temu w typowych systemach (z aktywnym VT) można przełączać się na kmscon jak na zwykłą jądrową konsolę za pomocą skrótu Ctrl+Alt+F.
Jeśli na urządzeniu VT, które chcesz przeznaczyć dla kmscon, już działa jakiś serwis, na przykład getty, to ten serwis należy zatrzymać. To jest konfigurowane w zależności od systemu, na przykład w przypadku Busybox należy edytować /etc/inittab.
Jeśli podsystem VT nie jest używany (to znaczy, w konfiguracji jądra podano CONFIG_VT=n, co jest celem opracowania kmscon), to kmscon po prostu zajmuje skonfigurowane urządzenie wyjściowe. Następnie trzeba korzystać z jego wewnętrznych sesji.
Aplikacje GUI, takie jak serwer X, muszą być uruchamiane z sesji kmscon za pomocą specjalnego programu kmscon-launch-gui. Jest to konieczne dla prawidłowego przekazywania kontroli nad zasobami, w szczególności urządzeniem wyjściowym.
Zmiany w wersji 10.0
- dodana możliwość generacji specyficznego dla kmscon pliku z bazą terminfo. Zmienną środowiskową TERM=kmscon można ustawić zarówno w powłoce, jak i za pomocą argumentu CLI lub opcji konfiguracji.
- wsparcie dla czcionek o zmiennej szerokości, a nie tylko czcionek monospace.
- wsparcie dla uzyskiwania zasobów (takich jak urządzenie DRM) przez libseat. To w przyszłości pozwoli uruchamiać kmscon w sesji użytkownika, a nie tylko jako root, jak to ma miejsce obecnie.
Źródło: linux.org.ru
