나는 Debian Bookworm을 실행하고 동일한 수준으로 업그레이드하고 최신 소프트웨어를 설치한 두 대의 컴퓨터를 가지고 있습니다. 두 시스템 모두 X를 시작하기 전에 수행해야 하는 텍스트 터미널로 부팅하도록 구성되어 있습니다.
문제는 한 대의 컴퓨터가 /dev/tty0
대신에 부팅된다는 것입니다. /dev/tty1
이는 컴퓨터 2에서 실행되는 xinit 명령이 컴퓨터 1에서 작동하지 않음을 의미합니다.
컴퓨터 1의 커널은 /dev/tty0
다음 권한으로 부팅됩니다.
crw------- 1 ben tty 4, 0 May 23 16:46 /dev/tty0
crw--w---- 1 root tty 4, 1 May 23 16:46 /dev/tty1
crw------- 1 ben tty 4, 2 May 23 16:13 /dev/tty2
컴퓨터 2의 커널은 /dev/tty1
다음 권한으로 부팅됩니다.
crw--w---- 1 root tty 4, 0 May 23 05:55 /dev/tty0
crw--w---- 1 ben tty 4, 1 May 23 16:29 /dev/tty1
crw------- 1 ben tty 4, 2 May 23 16:13 /dev/tty2
컴퓨터 2에서는 작동하지만 컴퓨터 1에서는 작동하지 않는 X를 시작하는 명령은 다음과 같습니다.
xinit /home/ben/.xinitrc -- /usr/bin/X :0 vt1
사용자 ben은 컴퓨터 1에 대한 액세스 권한이 없으므로 tty1
X는 no permission
메시지와 함께 실패합니다.
컴퓨터 1에서 X를 시작하려면 사용자 ben은 xinit
사용할 명령을 변경한 vt2
다음 탐색하여 tty2
실행해야 합니다.
/dev/tty1
나에게는 이 기능을 컴퓨터 1에서 사용할 수 없다는 것이 혼란스럽습니다 .
컴퓨터 1에 표시된 터미널은 다음과 같습니다.
Ctrl+ alt+ F1받기/dev/tty0
Ctrl+ alt+ F2받기/dev/tty2
Ctrl+ alt+ F3받기/dev/tty3
컴퓨터 2에서는 터미널에 다음이 표시됩니다.
Ctrl+ alt+ F1받기/dev/tty0
Ctrl+ alt+ F2받기/dev/tty1
Ctrl+ alt+ F3받기/dev/tty2
/dev/tty1
컴퓨터 1에서 시작하기 위해 console=/dev/tty1
. grub.cfg
제대로 부팅하려면 파일을 다시 쓰고 옵션을 제거하려면 복구 디스크가 필요합니다 .
Systemd는 두 시스템 모두에서 동일한 출력을 표시합니다 active and running
.[email protected]
내 질문은: 컴퓨터 1 이 대신에 부팅되도록 컴퓨터가 /dev/tty1
컴퓨터 1에 나타나도록 어떻게 구성합니까 ?dev/tty1
/dev/tty0
다른 곳에서는 답변을 찾을 수 없어서 여기에 질문드립니다.
편집: 응답해주신 모든 분들께 감사드립니다!
cat /proc/fb는 두 시스템 모두에서 동일한 내용(0 nouveaudrmfb)을 출력합니다.
부팅 시 tty0 및 tty1의 소유권을 변경하는 스크립트를 작성할 수 있다고 생각하지만 이는 해결 방법처럼 느껴집니다. 여기의 다른 기계에는 이것이 필요하지 않습니다.
답변1
장치 노드는 /dev/tty0
실제로 가상 콘솔 드라이버 코드에 구현되어 있지만 "현재 선택된 가상 콘솔이 무엇인지"에 대한 하드 링크처럼 작동합니다.
console=
부팅 옵션 값 은 /dev/tty0
"일반적인 KVM 물리적 콘솔(및 전체 가상 콘솔 세트)을 시스템 콘솔로 사용하고 싶습니다"를 의미합니다. 발견한 바와 같이 부팅 옵션은 console=/dev/tty1
효과가 없습니다(적어도 x86 하드웨어에서는).
로그오프된 모든 tty 장치는 일반적으로 root
소유되며, 로그인한 사용자는 로그인 프로세스에 의해 할당된 tty 장치의 소유권을 갖게 됩니다. 로그오프하면 tty 장치의 소유권이 소유자에게 반환되어야 합니다 root
. 그러나 사용자가 ben
소유권을 성공적으로 획득한 경우 /dev/tty0
이를 사용하여(예: SSH 연결을 통해 로그인) 실제 가상 콘솔에 로컬로 로그인한 누군가의 세션에 콘텐츠를 주입할 수 있음을 의미할 수 있습니다( /dev/tty[1..N]
). .
소유권은 /dev/tty0
루트 소유권을 변경해서는 안 됩니다.
루트로 실행되는 프로세스를 볼 수 있습니까 tty0
? fuser /dev/tty0
일반적으로 있어서는 안됩니다.
[email protected]
정의 가 있나요 ? 그렇다면 문제가 발생할 수 있습니다. /dev/tty0
일반 로그인에는 절대 사용하면 안 됩니다.