Przede wszystkim musisz edytować plik inittab. W Debianie jest on zlokalizowany /etc/inittab
i domyślam się, że może to być coś podobnego na Ubuntu. Normalnym monitem TTY zarządza się przy użyciu programu o nazwie getty
, dlatego należy przewinąć w dół do miejsca, w którym ten program jest skonfigurowany. Powinieneś zobaczyć wiele linii podobnych do tego:
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Następnie potrzebujemy programu o nazwie rungetty
. Umożliwia to uruchamianie programów na TTY jako określony użytkownik. fbterm
wymaga roota, aby uzyskać dostęp do bufora ramki. Możesz więc działać fbterm
na TTY2 tak (podwójne myślniki oznaczają koniec przełączników rungetty
):
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm
Tylko jeden problem; masz piękny terminal oparty na buforze ramki, ale jesteś zalogowany jako root! Posiadanie nieuwierzytelnionego roota jest tak samo szkodliwe dla bezpieczeństwa, jak to tylko możliwe. To się nie uda.
Możemy użyć programu wywoływanego w login
celu obejścia tego problemu, akceptując inny zestaw poświadczeń użytkownika, a następnie uruchamiając bash lub zsh lub cokolwiek, co dzieje się w powłoce logowania. Na szczęście, fbterm
można przyjąć komendę jako ostatecznego argumentu (ponownie, podwójne kreski zapobiec fbterm
i rungetty
z coraz argumenty pomieszane:
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login
Dzięki temu powinieneś mieć fbterm
uruchomioną na jednym ze swoich TTY.
Powinieneś być w stanie zmienić terminal tty, edytując:
źródło