추가 읽기

추가 읽기

이 질문이 나를 미치게 만든다!

나는 FreeBSD에서 "/etc/ttys"를 사용하여 getty가 실행될 때 실행될 명령을 구성합니다.

내 구성 파일의 관련 줄은 다음과 같습니다 /etc/ttys.

ttyv8   "/usr/local/bin/startx" xterm on secure

내 문제는 시작 시 현재 콘솔이 ttyv8로 전환되고(예상대로 작동함) VirtualBox 창 크기가 조정된다는 것입니다(이는 일반적으로 X 서버가 그래픽 출력을 제어하고 있음을 나타냄).그런데 X 서버가 즉시 종료됩니다.. FreeBSD는 5번 재시도하고 30초를 기다린 다음 5번 재시도하고 30초를 기다리는 식으로 계속됩니다. 이게 나를 미치게 만들고 있어!

그러나 startx텍스트 콘솔에 로그인하고 거기에서 실행한 후에는 아무런 문제 없이 완벽하게 작동했습니다. 나는 그렇게 하지 않았지만 ~/.xinitrc기본 xinit 파일을 수정했습니다 /usr/local/etc/X11/xinit.

모든 것을 디버깅하려고 할 때 tty 명령에 파이프를 추가합니다.

ttyv8   "/usr/local/bin/startx > /tmp/startx.log" xterm on secure

startx.log가 존재하지 않습니다. 전혀 작동하지 않습니다. 그러나 표준 Xorg.0.log는 getty가 x 서버를 시작하려고 시도할 때마다 업데이트됩니다. Xorg.0.log는 전혀 아무 말도 하지 않습니다. 드라이버 등을 로드한 후에는 성공적으로 종료됩니다. 내 xinitrc가 전혀 읽히지 않는 것과 같습니다.

저는 로그인 관리자를 사용하고 싶지 않으며 자동 로그인 메커니즘도 필요하지 않습니다.

미리 감사드립니다.

답변1

ttyv8 "/usr/local/bin/startx" xterm 보안

닫았지만 틀렸습니다.

매뉴얼에는 ttys이를 수행하는 정확한 방법의 예가 나와 있습니다. window=설정을 사용하여 실제 X 서버를 지정하고 레코드의 두 번째 필드에서 실행할 초기 X 클라이언트를 지정 해야 합니다 .

# 터미널 에뮬레이션/윈도우 시스템
ttyv0 "/usr/local/bin/xterm -display :0" xterm on window="/usr/local/bin/X :0"

ttys개인적으로 나는 다음 세 가지 이유로 이 메커니즘을 사용하지 말 것을 권장합니다 .

  • 발견한 대로 다시 시작 동작이 좋지 않습니다. 실제로 X 클라이언트 및 서버에 대한 환경 변수 구성 및 서비스 활성화/비활성화와 같은 작업을 매우 간단하게 수행할 수 있는 적절한 서비스 관리자에 비해 구성 가능성이 거의 없습니다.
  • 데스크톱 관리자를 혼합한 후에는 실제로 갈 수 있는 방법이 아닙니다. 이것FreeBSD 매뉴얼각각의 Mewburn 스크립트를 통해 rc다양한 데스크탑 관리자를 실행하고 rc.conf이를 .TrueOS를 통해 OpenRC 스크립트에서 호출하는 PCDM으로 바꾸는 방법을 보여줍니다. 둘 다 ttys데이터베이스 항목과 관련이 없습니다.
  • 이는 nosh 서비스 관리에서 수행하는 방식이 아니며 PCDM 및 다양한 데스크탑 관리자를 위한 서비스 번들이 있으며 서비스 번들은 이러한 서비스 번들 일반적인 방식으로 일반 X 서버 및 클라이언트를 시작하는 데 유사하게 사용할 수 있습니다. ttys데이터베이스 항목은 관련되지 않습니다 .

X 서버와 클라이언트를 실행하려면 Mewburn rc스크립트, OpenRC 스크립트 또는 nosh 서비스 팩을 작성하는 것이 좋습니다.

추가 읽기

답변2

나는 다음과 같은 방법을 사용하고 있습니다 :

  1. ttyv0내 사용자 에 대한 자동 로그인.
  2. ~/.logintty를 확인했습니다 . 그렇다면 ttyv0실행될 것입니다 startx.
  3. 완료(xorg 세션 종료) 후 startx일시 중지/다시 시작에 대해 문의하세요 .

설명하다:

1. 자동 로그인: 도착하다 /etc/ttys:

ttyv0   "/usr/libexec/getty autologin" xterm   on  secure

그리고 /etc/gettytab:

autologin::al=MYUSER

2.&3.관련 내용~/.login. 나는 을 사용하고 있지만 tcsh이 아이디어도 작동합니다 sh.

if ($tty == "ttyv0") then
  echo Starting Xorg...
  startx
  echo "Halt (h) Reboot (r) Nothing (n) ?"
  set answer = $<
  if ($answer == "h") then
    /sbin/shutdown -p now
  else if ($answer == "r") then
    /sbin/shutdown -r now
  endif
endif

관련 정보