
Ubuntu 1804を実行するリモートVMがあり、VNCを実行したいと思います。私はXサーバーを実行する必要があるx11vncを使用しています。現在はSSH経由で接続しています。
VMにはNvidiaカードがあり、nvidia-xconfigを使用してxorg.confを作成した後、startxを使用してXセッションを開始できますが、rootとしてのみ可能です。 VNCを介した後続の接続はルートを使用して行われるため、これを避けたいと思います。
xorg.confファイルのデバイスセクションは次のとおりです。
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla K80"
BusID "0:30:0"
EndSection
root以外のユーザーとしてstartxを起動しようとすると、次のメッセージが表示されます。
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
誰もがxを起動できるように/etc/X11/Xwrapper.configを変更すると、次の結果が表示されます。
Couldn't get a file descriptor referring to the console
SSH経由で接続してもテキストコンソールに接続するのではなく、startxを実行する必要があることを読んでいました。 chvtを使用してテキストコンソールに変更しようとして失敗した場合、何も変更されません。
SSHでXを起動できますか?
答え1
ここ仮想端末で実行されるとsystemd-run
欺瞞的に信じるベースソリューションです。startx
答え2
ログインマネージャ(たとえばlightdm
)を追加し、自動ログインを設定できます。x11vnc
ユーザーセッションの開始時にも実行されます。
あるいは、vncserver
ユーザーとして実行し、SSH転送を介して直接接続することもできます。
ssh -L5904:localhost:5905 [email protected]
vncserver :5 # only if the server has not been started
その後、クライアントで次を実行できます。
xvncviewer localhost:4