この問題は私を夢中にさせています!
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
はありませんが、/usr/local/etc/X11/xinit
のデフォルトのxinitファイルを変更しました。
Ttyコマンドにパイプを追加してすべてをデバッグしようとしたとき:
ttyv8 "/usr/local/bin/startx > /tmp/startx.log" xterm on secure
startx.logは存在しませんでした。それは単に機能しませんでした。ただし、標準のXorg.0.logは、gettyがxサーバーを起動しようとするたびに更新されます。 Xorg.0.logは単に何も言いません。ドライバなどがロードされた後、正常に終了しただけです。私のxinitrcがまったく読まれなかったようなものです。
ログインマネージャを使用したくないことと、自動ログインメカニズムを使用したくないことに注意してください。
前もって感謝します。
ttyv8 "/ usr/local/bin/startx" xterm on secure
閉じますが、間違っています。
ttys
のマニュアルには、これを正確に行う方法の例が示されています。 window=
設定で実際のXサーバーを指定し、レコードの2番目のフィールドで実行する最初のXクライアントを指定する必要があります。
#ターミナルエミュレート/ウィンドウシステム ttyv0 "/ usr/local/bin/xterm -display:0" xterm on window = "/ usr/local/bin/X:0"
個人的には、次の3つの理由から、このttys
のメカニズムを使用しないことをお勧めします。
rc.conf
の設定によって有効/無効にされるそれぞれのMewburnrc
スクリプトを介してさまざまなdestkopマネージャーを実行する方法を示しています。 TrueOSは、これをOpenRCスクリプトによって呼び出されるPCDMに置き換えます。 ttys
データベースエントリはどちらにも関係していません。ttys
データベースエントリは含まれていません。Xサーバーとクライアントを実行するには、Mewburn rc
スクリプト、OpenRCスクリプト、またはnoshサービスバンドルを作成することをお勧めします。
ttys
。 FreeBSDファイルフォーマットマニュアル。 2014-03-09。私は次の方法を使用しています:
ttyv0
で、ユーザーは自動的にログインします。~/.login
はttyをチェックします。 ttyv0
の場合、startx
が実行されます。startx
の終了後(xorgセッションを閉じる)、停止/再起動について尋ねます。説明:
1。自動的にログイン:to /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