Linuxでリモートデスクトップ【VNC, RDP, X11転送】
ネットワークを介してGUIで他のマシンを操作する方法に関するスレッドです プロトコルとしては主にVNC, RDP, X11 forwardingについて扱うことになると思います サーバ側、クライアント側の技術は両方とも取り扱えればと思っています TigerVNCはヌルヌル動いてくれて使いやすいよな 普段、無線LAN+SSHでX飛ばしてるんだけど、回線断が我慢できないレベルに 達するとVNCやXRDP使い始める。 ただ、毎回ポートフォワードのやり方忘れて ググってからやることに、、、 大変面倒くさい。 それどころかX転送すら面倒になって、もうSSHのみだよ X転送っつてもどうせ動かすのは端末エミュレータだけだから 大体、 リモート上でgnome-sessionとか動かしてもD&Dを封印されたり、 ブラウザが超モッサリになったりする劣悪環境なんて 情けなくて使いたくないし、使えない。(VNC, RDPほとんどすべて共通) LinuxのXサーバをローカルでしかまともに動けないよう縛り付けたのは 誰の仕業なのかね。DRI?fontとか矮小な問題から? RDPやTightVNCは結構使えるけどな。 -geometry調整して画面最大化させると 手元で動かしているのと遜色ないレベル。(100MbitLAN/54Mbit無線LAN環境) 速度はでるよな。RDPとTigerVNC、TightVNC等をXvncで使うと かなり快適なんだがもう設定が面倒になった。労多いわりに益が少ない。 つか供給側にリモートデスクトップ関連を潰したいって思惑がある気がしてならない。 GDMでリモートログイン機能が一時削除されたとか。 >>16 SPICEなんてGNOME級のvaporwareに振り回されるなよ。 そんな凄けりゃみんな使ってる。真打ちのTigerVNCが側にいることに気付くべき >>27 > LinuxのXサーバをローカルでしかまともに動けないよう縛り付けたのは > 誰の仕業なのかね。DRI?fontとか矮小な問題から? 時代の流れでしょう。ゲームなんかリアルタイム性がもとめられるから ネットワーク透過性なんて層をすっ飛ばして、直接レンダリングしないと間に合わない。 だから、ローカルでのみ使える高速なインターフェースが定義された。 それは高機能で高速で便利だから、次第にその機能に依存していった。 Xで定義されていた(当時としては)最低限のAPIを大きく超える APIができてしまった。 http://spice-space.org/schemes/spice_schem.png わかりにい図だが、今のところSPICEはOSの外、qemuのレイヤで動く。 (図ではspice-serverとなってるが、実際はライブラリでポートをLISTENするのはqemu) OSからは専用のドライバxf86-video-qxlを使う。 xvncとかxrdpみたいにOS上のアプリケーションとして実装できるのかどうかは知らん。 >>29 少なくとも数年前から存在するSWをvaporware呼ばわりというのはどうなのかね。 既にRHELにも含まれてるし、Fedoraだったら14くらいから使えていた。 凄いかと言われりゃ微妙だがLAN内なら動画再生くらいはできる。 まぁ俺がホストFedoraクライアントWindowsで使ってるせいかバギーなとこもあるけどな。 とここまで書いたが、SPICEなんてこのスレのメインの話題になるようなもんじゃないのでどういうものかを理解したら次の話題に移ってくれ。 spiceってせめてバージョン1はなったのか?だったら失礼した だた、このスレでの扱いからもspiceの知名度がこの程度ってのは、 kvmがいまだ他の仮想環境と肩を並べる段階にないという証左でもあるよなぁ まspiceなんて、KVMのネットワーク性能の酷さを誤魔化するために急造したことになってる (オイラの脳内理論による) inuxコンテナあたりが頑張りだすと、spiceは本当のvaporwareに成り下がるんじゃね >29 >かなり快適なんだがもう設定が面倒になった。 ですよね〜 SSVNCなんてあるけど、結局リモートにSSHで入ってVNC立てて 手元で必要項目埋めてクライアント立ち上げて、、、、ってコンソールから 指示するのとあんま変わんない。 本当はスクリプト書いちゃえば良いのでしょうけど素人には難しくて >31 自分が>18 で変な事書いたので横道に逸らしてしまって申し訳有りませなんだ。 ちょっとだけSPICEの質問重ねさせて下さい。 SPICEが転んだ時、最接続すると どんな状態になりますか? つまり、VNC・RDPみたいに切断直前の状態で復帰 出来るのか、SSH Xフォワードが転んだ時のようにアプリは(SPICEだと仮想マシン ゴト落ちるのかな)終了してしまうのでしょうか? Xorgのリモート設定がさっぱり謎なんだよな。 その辺WeirdXって単純でわかりやすい。 まあmplyer流しこむ位しか試してないけど。 名前が被ってるのが悪い。作者達、UNIXのこと知らなさ過ぎだろ。 負荷分散のために複数台のサーバてx client動かして一台の端末のx serverで出力してるんだけど、vnc,rdpでも可能? >>36 補足。ひとつのwindowだけ表示させることは可能? 全部デスクトップごとだと邪魔すぎるので。 VNC,RDPはモニター出力を丸ごと飛ばすイメージなので Xポートフォワードの様にアプリだけを持ってくることは出来ない。 ただ前画面表示が出来るアプリとウィンドウマネージャの組み合わせで 望んでいることはできるんじゃないかな、と思う >>38 ありがとう。上のほうで欠点あげられていたけど、x使い続けます。 cliのscreenみたいにtouch,detouchできたらいいのにな。 Xvncserverを使うとscreenのattach/detachに近いことになる。 Teamviewer一択 Winでは有名なリモートデスクトップソフトだし wine入りのLinux版もある iPhoneからも操作できるし 商用利用しないならぜひ使いたい >>1 つーかX11についてX11転送に限定って X11さんdisってんのかああん? X11はリモートで使える仕組みを もとより備えているからじやね? で、その仕組が災いして ハードウェアアクセラレーションを 活かすのが難しくなってたんだよな。 そのタメのWayland開発でしょ? リモートはVNCかXRDP使えばよろし。 できれば両方共に音声とSSLに対応してもらいたいけど(SSHポートフォワードはめんどい) そのタメのWaylandじゃないでしょ。 それにまだWaylandに期待しているなんて、この業界浅いの? Mirror-DTC便利すぎワロタwww リモートデスクトップでエロゲが出来るようになったwww http://www2u.biglobe.ne.jp/ ~mikanagi/cgi-bin/nicky/nicky.cgi?DATE=201208?MODE=MONTH >自分の場合は録画サーバが常時稼動なのでそこにvmwareでXPモード動かしてやってるんだけど、なぜかダブルタップでメッセージが進む状態でよくわからん。たまにシングルタップでも進むし。若干不便かも。 >タッチパッドモードだともっと悪くて、ダブルタップ+長押しでないと反応しない罠。 >まぁこの辺はゲームによるのかもしれないし、vmware上でやらずにホストOS上なら発生しないかもなのでまぁ気が向いたら追求。 > >ちなみに、Mirror-DTCも試してみたんだけど、こっちは俺の用途ではいまいちだった。splashtopに軍配かなぁ。 >やっぱ接続時に解像度指定出来るほうが楽でよいし、上記の謎のダブルタップ+長押し使用のせいか、ゲームの画面クリックしてもなんにも反応しねぇ。 まぁ世の中そんなもんよね… sshのX11転送でリモートのgvim立ち上げるとフォントがビットマップフォントになってしまうんだけど、 X11転送でつないだ場合ってフォント選べないの? 一応リモートにもローカルにも使いたいフォントはインストールして、set guifontで指定してみたりも したんだけど効かないみたい。 RDPとVNCを一緒に「リモートデスクトップ」でくくるのは抵抗がある 前者は本当に独立したリモートデスクトップだけど、VNCは単なるコンソール画面の横流しじゃねーか その辺はゆるく行こうよ。 話題せばめてもしょうがない。 >前者は本当に独立したリモートデスクトップだけど、VNCは単なるコンソール画面の横流しじゃねーか ことLinuxに限って見れば、XRDPもX11VNCも完全なリモートデスクトップだけどね。 ホントのリモートデスクトップというのは デスクトップがまるまる使えるわけで 記憶デバイスやプリンタなんかもリモートで 使えないとダメだと思うんだ。 ホストについているデバイスやプリンタ(でユーザーに使用権限があれば)なら リモート側でも使えるでしょ? リモート側のデバイスとホストでのアプリ なんかを組み合わせて使う、みたいな話? サウンドもPulseAudio使えばリモート側で音がなる筈。 めんどいので試した 事がないけれど。 GNOME ShellとかUnityを、もしもしからVNCや RDPで使ってる人居る? あの使いづらさはどうにかならんのか ubuntu 12.04LTS でVNCでiPhoneから接続したら、システム設定クリックしても何も起こらない…と思って再接続したらちゃんとウィンドウが表示された。 全部接続しなおさないて反映されないとか煩わしいわ Ubuntuを12.10にしたら、vncserver がまともに動かなくなったので vinoに移行してみた 悪く無いじゃんと思ったけど、描画が遅すぎて出先からだと使い物にので なんとかならないかと xrdpに手を出してみたら compizが落ちる… やはりX11にすべきなんだろうか… 以前やってた頃はブラウザを動かすぐらいまではできてたんだけど 日本語入力が何か鬼門で今のところまともに動かせて無いんだよなぁ Mirror-DTC 微妙だった。なんか遅い。キーバインドもリモート側に 吸収してもらえないし、かな漢字変換で日本語打つことも出来なかった。 あまり盛り上がってないようなのでageてみたり。 TigerVNCは、フルスクリーンで表示すれば Alt+Tab とかのキーボード ショートカットが、リモート側に反映されるみたいだけど、ウインドウ 状態で表示しているとローカル側に反映されてしまう。 ウインドウ状態のままローカル側に反映する方法があれば、もうこれで xrdpの代わりに十分なりそうな気がするのですが・・・ もしあったら教えて下さいませ・・。 >>68 >ウインドウ状態のままローカル側に反映する方法があれば ↑これ間違えました。 正しくは ウインドウ状態のままリモート側に反映する方法があれば です。 分からんけどとりあえず見たよというアピールだけしてみる 新しい職場でvnc使ってる。 今まで使おうとか思ったことなかったけど、 使ってみると、かなり便利だな。 リモートデスクトップのクライアントになるのかな?直接操作する方でxmonadという ウィンドウマネージャ使ってて、そいつはAltキーをメタキーとして利用するんだが、 そのせいでリモートのサーバーの方でExcel使ってる時にAlt+Enterの改行ができんくて 辛かったわ tigerVNC早すぎワロタ 久しぶりにVNC使ったんだけど、こんな早かったっけ? X飛ばしてたのが馬鹿みたい あとはクライアントのウィンドウサイズに応じてVNC内のウィンドウサイズを 自動で変更してくれると嬉しいんだけど、さすがにそれは難しいかな? VNCってGPUアクセラレータ効かないんですか? 描画を少しでも早く出ればと思ったんですが VNCってやっていることは画面のキャプチャ、圧縮、送受信、展開 だからレンダリング部分を加速しても余り意味ないかも、、、 GPGPUでファイル圧縮/展開を加速する技術があった気がするから それを導入すれば多少は早くなるかも、だけど。 >>75 >画面のキャプチャ そんな間抜けなことやってんの? Xみたいに描画キューをヨソのX鯖にforwardしてるだけで良えのに。 それだと幅広いアーキテクチャに対応できないだろ? 描画キューだけ取るのが好みならX転送やRDPのオプソ版 とかの方が良いんじゃないかな 画像キャプ+圧縮のほうが効率がいい場合もあるよね とくに回線が細いときは 描画キューを〜のやり方だと、 全てを処理しないと画像が再現できないからね。 画面キャプチャだとコマ落ちさせられる。 画像も色数落としたりjpgで圧縮も効かせられる。 no machine試しに使ってみたら、無線LAN同士でHD動画も全画面で再生しても カクカクしなかった スクロールもヌルヌル。 サーバー側(2世代i5のM)はnomachineのプロセスがアイドル時5%以下なのが再生時30%ぐらいで クライアント側(3世代i5のU)は、Windowsだけどローカル再生時は3%〜10%程度で、nomachine 経由だと10%〜25%くらい。 動画はyoutubeのTimeScapes: Rapture 4K の1440p。 VNCより速いの? てか、NX Serverって開発終わったんじゃなかったけ? >>84 vnc、rdpよりも速いと思う。 開発終わってるのは、たぶんオープンソース系のneatxとかじゃない 詳しくは知らないけど、No Machineはバージョン4からは実装もかなり違う 気がする NXは相変わらずSSHのパスワード認証を有効にしないと使えないの? SSHはセキュリティ的に、RSA鍵認証だけに絞りたいから嫌なんだけど。 鍵だけでOK というか、match addressでローカルホストだけパス認証許可するのも嫌だったの? ふむ、ってことはあのユーザ名 nx で隠密に一度パスワードログインする仕様は辞めたのか。 後ろ一行は、何故ローカルIPアドレスからしか使用しないと思うのか理解できない。 VPNつかってたから勘違いしてたわ。ごめん。 今更気づいたんだが、SSH起動しなくてもNoMachineの設定ファイルに鍵指定するだけ ログインできてた。 デフォルトのポートも4000番に変わってるんだけど、そこに対してsshできない。 下のようなツールを探しているのですがおすすめを教えてください。 ・サーバはLinux Mint 15 cinnamon ・クライアントはOSX10.84、WindowsXP、Windowx7 ・Winのクライアントソフトはポータブルで起動可 ・パスワードなしで接続可 ※vnc4serverではパスワードなしで接続ができませんでした。 サーバはLinux Mint 15 cinnamon 最近はこんなクズをサーバにするのが流行ってるのか? それマルポストって言うんだわさ ttp://www.scrc.umanitoba.ca/doc/tutorial/T19_3a_xmingputty.htm 使い方は考えてね >>94 済まぬ元を読んで居なかった vnc4passwdすりゃええ dキーがー とかexec cinammonがー とか言い始めると思うけどな 随分粗相をした様で ROMに戻ります(*´∀`*) 一応連投でも書いとくけどこれが1番簡単だと思う xrdpブッ込んで ttp://www.itmedia.co.jp/news/articles/1310/20/news006.html >>96 vnc4passwdの場合空のパスワードを設定できないですよね? (入力なしの場合パスワードは変更されず以前のままになる。 空白を入力すると6文字以上入力してくださいのエラー) >>99 ありがとうございます! xrdp入れたらあっさりいけました。 winなら標準で持ってるmstscで接続できるし言うことなしです。 xrdpはそんなに速くないないから、俺だったらlibvnc.soつかって、 SecurityTypesをNoneにするな。 Windows標準のRDPより速い(描画・通信速度とか)ってどれなの? >>101 以下ファイルの設定を変更するという意味でしょうか? /etc/xrdp/xrdp.ini すでにlibvnc.soが使われているように見えるのですが [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 >>103 すみません、xorgでlibvnc.so使うって意味です。 libvnc.soがあれば、xorgのconfにload "vnc"とか入れればできる。 そのまま物理ディスプレイ(5900ポート)にVNCできて、xrdpとか他のvncserverと違って圧縮処理も 中で走らないから、速いネットワーク経由だと快適。 ヘッドレスサーバにもよく使ったりする機能です。 >>104 ググってみたのですが/etc/X11/xorg.confのModuleセクションに追記するという意味でいいですよね? Mint 15だと/etc/X11/xorg.conf自体が存在しないようです。 以下コマンドを実行して新規に作成しようとしましたがエラーのため作成できませんでした。 sudo Xorg -configure >>105 最近のxorgだとconfは別々に作るのが普通。 /etc/X11/xorg.conf.d/配下にSection別とか機能別に作っていく感じ。 書く内容自体は同じで、俺の場合だとVNC用には10-vnc.confと10-vncauth.conf をおいてる。 >>106 レスありがとうございます。 以下のような感じで作成して再起動をかけたのですが、vncが起動しない状態です。 ほかに何か設定抜けてるでしょうか。何度も質問で本当に申し訳ないのですがよろしくお願いします。 xorg.conf.dディレクトリはetc以下ではなくusr以下に存在。 # find / -name xorg.conf.d /usr/share/X11/xorg.conf.d そのため「99-vnc.conf」ファイルを以下の内容で作成。 【内容】---------- Section "Module" Load "vnc" EndSection Section "Screen" Identifier "Screen0" Option "SecurityTypes" "None" EndSection ---------------- libvnc.soも以下の通り存在します。 # find / -name libvnc.so /usr/lib/xrdp/libvnc.so >>107 libvncが変な場所にある気がします。 当てずっぽうですが、 tigervnc入れるか、 ln -s /usr/lib/xrdp/libvnc.so /usr/lib/libvnc.so でいけるようになるかな。もしくはターゲットは /usr/lib/xorg/modules/extensions/libvnc.so かも。名前がvnc.soじゃないとだめな場合もあるかも。 >>107 あ、 /usr/share/X11/xorg.conf.d これ言おうと思ってたんだけど自決してたのね Mintの場合cinnamonだったら、 $ sudo apt-get install gnome-session-fallback 入れて、 ~/.vnc/xstartupだっけかに、 exec gnomssion-fallback &か exec /usr/bin/gnome-session-cinnamon & 入れんと死ぬるど 後、vnc4serverの場合、dボタンの入力でウィンドーが最小化になるかも知らん。 適宜対策をしとくれ >>108 リンク作成の方法では無理でした。 次にvnc4serverを削除してtigervnc-serverをインストールしたところ、 OS起動直後はvncサーバは未起動の状態。 vncserverコマンドを実行するとvnc4serverと同様にパスワード入力になり、 パスワード未入力の状態では接続できませんでした。 また、vnc4serverの場合は~/.vnc/xstartupに以下を記入してやらないと コンソールしか表示されませんでしたが、 tigervncは記載しなくてもなぜか普通にデスクトップが表示されました。 exec /usr/bin/gnome-session-cinnamon & load vncではプロセスとしては見れないと思う。 netstatで5900ポートでサーバーが立ってる状態が確認できるはず。 物理ディスプレイをフォワードしてるだけだから、xstartupとかもない 最悪の場合だと、xorg-serverにバグがある。 Archだとコンパイル前にパッチを当てないとだめだった。 当てたパッチはこれ。 http://pkgs.fedoraproject.org/cgit/xorg-x11-server.git/plain/0001-include-export-key_is_down-and-friends.patch?h=f19& ;id=06e94667faa0cd1f9f32cf54e9e447ef50fde635 voyager13.10インストールしました。 自分で用意した写真を壁紙に指定しました。 再起動するとデフォルトの絵に戻ります。 設定から「+」で追加登録しても再起動すると消えてしまいます。 どうすればいいでしょうか、おねがいします。 /usr/share/backgroundsではないようです。 直接貼り付けできません。 linuxってasusのwifi go使えないの? >>112 再起動後にnetstatで確認して見たもののやはりサーバ自体がたってない様子。 vncserverコマンドで起動すると5901ポートで待ちうけ状態になるのは確認できました。 パッチはすいません、当て方よくわからず試せていないです。 そもそも設定として必要なことは下だけでいいんですよね? 以下の準備をした上で何かしらコマンドで設定の反映が必要とかもないと考えていいでしょうか ・tigervncをインストール ・/usr/share/X11/xorg.conf.d/99-vnc.confを作成(内容は以下) ---------------- Section "Module" Load "vnc" EndSection Section "Screen" Identifier "Screen0" Option "SecurityTypes" "None" EndSection ----------------- サーバーがubuntuの12.04でクライアント側はlinuxmint15を使用しています。 sshだと "/home/自分/bin/" に置いてあるスクリプトが実行できるのですが xrdpで接続するとフルパスで指定しないと実行できないという状態です。 echo $PATH で確認したところxrdpだとなぜかパスが通っていません。 フルパスで入力するのが面倒です。 何か解決方法はないのでしょうか? .bashrcに "PATH=$PATH:/home/自分/bin" 追加でokでした。 ありがとうございました。 >>116 コマンドは必要ないです。Xがスタートするときにモジュールとして一緒にスタートします。 Xorg.0.logはどうなってますか。vncで検索かけてなんか出てればトラブルシュートできるかも。 tigervncはlibvnc.soを入れるためだけに入れます。 confも名前以外は自分のと同じです。 >>120 ログを見た感じだとどうもTigerVNCをインストールしても 必要なlibvnc.soがインストールされてないのが原因みたいです。 ●/var/log/Xorg.0.log 抜粋 [ 18.462] (II) LoadModule: "vnc" [ 18.464] (WW) Warning, couldn't open module vnc [ 18.464] (II) UnloadModule: "vnc" [ 18.464] (II) Unloading vnc [ 18.464] (EE) Failed to load module "vnc" (module does not exist, 0) なお、tigervncインストール後に以下コマンド実行。 mint ~ # find / -name *vnc*so* /usr/lib/x86_64-linux-gnu/libvncclient.so.0 /usr/lib/x86_64-linux-gnu/libvncclient.so.0.0.0 /usr/lib/x86_64-linux-gnu/libvncserver.so.0 /usr/lib/x86_64-linux-gnu/libvncserver.so.0.0.0 /usr/lib/xorg/modules/extensions/libvnc.so /usr/lib/xrdp/libvnc.so /usr/lib/xrdp/libvnc.so.0 /usr/lib/xrdp/libvnc.so.0.0.0 試しに下でリンクを作成したところロード自体はしようと試みているようですが駄目でした。 ln -s /usr/lib/x86_64-linux-gnu/libvncserver.so.0.0.0 /usr/lib/xorg/modules/extensions/libvnc.so ●/var/log/Xorg.0.log 抜粋 [ 18.920] (II) LoadModule: "vnc" [ 18.922] (II) Loading /usr/lib/xorg/modules/extensions/libvnc.so [ 19.012] (EE) LoadModule: Module vnc does not have a vncModuleData data object. [ 19.013] (II) UnloadModule: "vnc" [ 19.013] (II) Unloading vnc [ 19.013] (EE) Failed to load module "vnc" (invalid module, 0) なお/usr/lib/xrdp/libvnc.soをリンクした場合でも同様のエラーです。 TigerVNCは以下のサイト参考にtigervnc-serverのみインストールしています。 ttp://blog.dighost.me/archives/1849.html >>122 他のファイルをおいて見れるから、ライブラリのディレクトリ自体は tigervncがインストールするところで問題なさそうですね。 無駄だと思うが、とりあえずload vncの前に下記投入。 Load "extmod" Load "dbe" Load "glx" Load "freetype" Load "record" Load "dri" Load "dri2" それでもだめなら、tigervncをソースからインストール それでもだめなら、xorg-serverにパッチあて。 tigervncでWindowsからアクセスしてるけど、日本語のクリップボードがうまく転送されない Linux同士なら大丈夫なんかな? X11ってマルチユーザ接続に対応してる? 複数のクライアント(Windows環境)からシンクライアント的に利用したいんだが。 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる