Odbyła się Wydanie kmscon 10.0, emulatora terminala zaprojektowanego jako zamiennik konsoli jądra. Zamiast podsystemu jądra VT, kmscon wykorzystuje KMS i implementuje niezbędną funkcjonalność w przestrzeni użytkownika.
Takie podejście rozwiązuje problem niskiej jakości kodu w podsystemie vt i braku doświadczenia wśród osób zajmujących się jego utrzymaniem, co sprawia, że dalszy rozwój tego podsystemu jest praktycznie niemożliwy.
Funkcje Kmscon:
- możliwość konfiguracji wszystkich opcji przy użyciu argumentów wiersza poleceń lub pliku konfiguracyjnego;
- Możliwość określenia urządzenia wyjściowego. Obsługiwane urządzenia to fbdev i DRM;
- możliwość ustawienia trybu wideo (rozdzielczości i orientacji ekranu);
- możliwość ustawienia własnego schematu kolorów;
- możliwość konfiguracji sprzętowego przyspieszenia grafiki przy użyciu GLESv2;
- możliwość automatycznego wyłączenia wyświetlacza po upływie określonego czasu bezczynności;
- obsługa sesji przełączanych za pomocą klawiszy skrótu (analogicznie do sesji VT); maksymalna liczba sesji domyślnie wynosi 50;
- Renderowanie nowoczesnych czcionek z obsługą hintingu, wygładzania subpikselowego i wszystkich innych funkcji udostępnianych przez biblioteki freetype i pango. Obsługiwane są również czcionki GNU Unifont i standardowe 8x16. Unicode jest w pełni zaimplementowany;
- możliwość ustawienia rozmiarów czcionek, także za pomocą skrótu klawiszowego w trakcie wykonywania, co rozwiązuje problem ich wyświetlania na wyświetlaczach HiDPI;
- integracja z libxkbcommon, obejmująca możliwość określenia modelu i układu klawiatury;
- Obsługa myszy. Można używać zarówno kursora programowego, jak i sprzętowego;
- Obsługa przewijania tekstu (bufor przewijania wstecznego), zarówno za pomocą klawiszy skrótu, jak i kółka myszy. Podczas korzystania z myszy można skonfigurować przewijanie naturalne.
Jak to działa
Usługa kmscon jest uruchamiana podczas startu systemu jako standardowa usługa, wykorzystująca system init.
Jeśli kmscon wykryje urządzenia VT w systemie, znajdzie wolne i przydzieli je. Pozwala to na przełączenie się na kmscon w standardowych systemach (z włączonym VT) jak na standardową konsolę jądra za pomocą skrótu klawiaturowego Ctrl+Alt+F. .
Jeśli usługa, taka jak getty, jest już uruchomiona na urządzeniu VT, które chcesz przydzielić dla kmscon, musisz ją zatrzymać. Jest to konfigurowalne w zależności od systemu; na przykład w przypadku Busybox musisz edytować plik /etc/inittab.
Jeśli podsystem VT nie jest włączony (tj. w konfiguracji jądra określono CONFIG_VT=n. Właśnie taki był cel rozwoju kmscon), kmscon po prostu zajmuje urządzenie wyjściowe określone w konfiguracji. Następnie należy użyć jego sesji wewnętrznych.
Aplikacje graficzne, takie jak serwer X, muszą być uruchamiane z sesji kmscon za pomocą specjalnego programu kmscon-launch-gui. Jest to niezbędne do prawidłowego przeniesienia własności zasobów, a w szczególności urządzenia wyjściowego.
Изменения w wersji 10.0
- Dodano generowanie pliku bazy danych terminfo specyficznego dla kmscon. Zmienną środowiskową TERM=kmscon można ustawić w powłoce lub za pomocą argumentu CLI lub opcji konfiguracyjnej.
- wsparcie dla czcionek o zmiennej szerokości, a nie tylko o stałej szerokości.
- Obsługa pobierania zasobów (takich jak urządzenie DRM) za pośrednictwem biblioteki libseat. Docelowo umożliwi to uruchamianie kmscon w sesji użytkownika, a nie tylko z uprawnieniami roota, jak obecnie.
Źródło: linux.org.ru
