x11vnc
再起動するまでVNCを無効にする恐ろしい黒い画面を修正する起動スクリプトを作成しています。これまでに、最新の/run/sddm/*
ファイルを使用して次に変更して:0
解決策を見つけました。n-1そのファイルがあります。ただし、これは推測にすぎず、ユーザーの切り替えが最後にディスプレイセッションを追加してから削除した場合にのみ機能します。最後のプロジェクトではなくプロジェクトに切り替えると、どのモニタを使用しているのかわからなくなり、問題が再び発生します。これまでの進捗状況:
#!/bin/sh
while true; do
lso=`ls -t /run/sddm/{* | grep -m1 -`
cnt=$((`ls /run/sddm/{* | grep -c -`-1))
/usr/bin/x11vnc -auth $lso -once -noxdamage -repeat -rfbauth /home/USER/.vnc/passwd -rfbport 5900 -shared -display :$cnt
usleep 400000
done
最も重要なのは、これを削除し、-forever
サーバー-loop
を再ロードして接続するたびに新しいディスプレイ構成を提供することです。
:0
たとえば、正しいX Cookieファイル(ディスプレイ番号がわかっている場合はこれを行うことができます)を見つけるには現在のディスプレイが必要です。正しいモニターの画像を:1
表示するには正しい出力が必要です。
すべてのアップデートを含むKubuntu 18.04で実行されます。
ベストアンサー1
Xvfb
現在Linux vt(noまたは)で実行されているXorgサーバーの表示番号を見つけるには、xnest
次のようにします(@basinの要件を満たす)。コメント)
pgrep -at "$(cat /sys/class/tty/tty0/active)" Xorg | grep -Po ' \K:[0-9]+'
-t tty
pgrepオプションは制御端末を持つプロセスを選択し、tty
この-a
オプションはコマンドライン全体を印刷するように指示します。 2番目のgrepはプロセスからディスプレイ番号を抽出します。
もちろん、ユーザーがCtrl-Alt-Fnを介してテキストコンソールに切り替えると、何も印刷されません。