mieki256's diary



2017/09/02() [n年前の日記]

#2 [ubuntu][linux] x11vncを使ってみたり

今までは、 てな状態で、VNCでリモート接続 ―― Ubuntu のデスクトップ画面を Windows側で表示して操作する、てなことをたまにしてたのだけど。 *1

しかしこの組み合わせだと、Ubuntu側で OpenGL関係の何かを実行しても、Windows 側の VNC viewer 上では描画結果が表示されないことに気がついて、これはちょっと不便だなと。描画速度が遅くてもいい・紙芝居状態でもいいから、一応結果を VNC viewer上でも確認したい。

ググってたら、tightvncserver は OpenGLの描画結果を表示できない、という話を見かけた。そこで代わりに vnc4server をインストールしてみたり。
sudo aptitude purge tightvncserver
sudo aptitude install vnc4server
しかしコレも、OpenGLの描画結果は表示されなかった。

さらにググってたら、x11vnc というものがあると知り。x11vnc を使うと、Ubuntu がディスプレイに表示してるデスクトップをそのまま VNC で表示できるから OpenGLの結果も表示できる、という話を見かけた。

_linux - How can OpenGL graphics be displayed remotely using VNC? - Server Fault
_x11vnc(1) - Linux man page

試してみたり。
sudo aptitude install x11vnc
x11vnc -display :0
Windows側は今までと同様、 UltraVNC に同梱の VNC viewer を利用。「相手ホスト名:5900」でアクセス。

たしかに、OpenGLの描画結果も表示された。接続を切ると x11vnc も終了する。

ただ、コレをするためには、Ubuntu側であらかじめデスクトップ画面を表示しておかないといけない…。

自動ログインを有効に。 :

Ubuntu は _lightdm というディスプレイマネージャが最初に起動して、そこでユーザを選択してパスワードを入力するとデスクトップ画面に入れるようになってる。この lightdm の設定ファイルを編集すれば自動ログインができるようになる。らしい。

_LightDM - ArchWiki
_LightDM - Ubuntu Wiki

/etc/lightdm/lightdm.conf を編集、というか新規作成して以下を追加。
[Seat:*]
autologin-user=ユーザ名
autologin-user-timeout=0

これで、Ubuntuを起動すると自動ログインしてデスクトップ画面が表示される状態になった。後は ssh でアクセスして x11vnc を起動すれば、Windows側で VNC viewer を起動してデスクトップ画面が出せる。はず。

x11vncのオプション。 :

x11vncのオプションについて、一部をメモ。
  • -repeat はキーリピート有効化。
  • -ncache n は描画の高速化。n は 6〜12 を指定できる。
  • -ncache_cr はウインドウドラッグ時の高速化。
  • -nowf はウインドウドラッグ時のワイヤーフレーム表示の無効化。
  • -nodpms はディスプレイの電源管理無効化。スクリーンセーバが1〜2秒で起動してしまうときは指定するといいらしい。
例えば以下のような感じで指定できる。
x11vnc -display :0 -repeat -ncache 10

*1: あくまで「たまに」で…。普段は PuTTY で ssh接続すれば十分な場合がほとんど。

以上です。

過去ログ表示

Prev - 2017/09 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project