Linux GUIリモートアクセス方法

RUVDSテクニカルサポートは、この問題を扱った資料がインターネット上に多数あるにもかかわらず、Linux仮想サーバー上のGUIおよびGUIへのリモートアクセスについて定期的に連絡しています。 したがって、ユーザー向けに、このトピックに関するすべてを1つの記事にまとめることにしました。











はじめに



念のため、 RUVDS上のLinux 仮想へのアクセスを提供する主な方法はSSHであることに言及する価値があります。 この記事で説明するアクションのほとんどは、この方法で実行されます。



接続するには、オペレーティングシステム用のSSHクライアントを見つける必要があります。



Windows:



  1. PuTTY :Telnet / SSHクライアント
  2. Cygwin用のOpenSSH
  3. MinGWの OpenSSH
  4. Winscp


Linux:



  1. OpenSSH Linux(Ubuntuなど)を使用している場合は、ほとんどの場合、すべてがすでにインストールされているため、ターミナルに安全に書き込むことができます:ssh root @ [IP]。
  2. PuTTYはLinux用でもあり、公式のDebianおよびUbuntuリポジトリを含みます。


MAC OS:



  1. OpenSSH 無料です!
  2. ZOC (80ドル!)
  3. vSSH


ブラウザプラグイン:



  1. FirefoxのFireSSH
  2. Google Chromeのセキュアシェル


GUIインストール



それでは、GUIのインストールに移りましょう。 まず、グラフィックスサブシステムを配置する必要があります。

Debian / Ubuntuの場合:



$ apt-get update $ apt-get install --no-install-recommends xserver-xorg xserver-xorg-core xfonts-base xinit libgl1-mesa-dri x11-xserver-utils
      
      





CentOSの場合:



 $ yum groupinstall "X Window System" "Fonts"
      
      





以下は、デスクトップ環境(DE)のインストールです。 それらの非常に多くがあります。 サーバーにもっと軽量な環境をインストールすることをお勧めします。さらに良いことに、それらをまったくインストールしないでください。 最初の2つのDEは、非常にコンパクトで機能的で「使い慣れた」ものです。



1. Xfce

Debian / Ubuntuの場合:



 $ apt-get update
      
      





完全インストール:



 $ apt-get install task-xfce-desktop
      
      





標準:



 $ apt-get install xfce4 xfce4-terminal
      
      





さらに追加することができます:



 $ apt-get install xfce4-goodies
      
      





CentOSの場合:



 $ yum install epel-release $ yum groupinstall "Xfce" $ echo "PREFERRED=startxfce4" >> /etc/sysconfig/desktop
      
      





2. LXDE

Debian / Ubuntuの場合:



 $ apt-get update
      
      





完全:



 $ apt-get install lxde
      
      





最小:



 $ apt-get install lxde-core
      
      





CentOSの場合:



    
      
      





ロシア語のレイアウトを追加する:



 $ setxkbmap -option grp:switch,grp:ctrl_shirt_toggle us,ru
      
      







キーボードショートカットは、次のように自由裁量で変更できます。



 $ setxkbmap -option grp:switch,grp:alt_shift_toggle us,ru
      
      





LXDEが起動するたびにこのコマンドを実行するには、お気に入りのviを使用してファイルの最後に次の行を追加する必要があります。@ setxkbmap -option grp:switch、grp:ctrl_shift_toggle、grp_led:scroll us、ru。 またはそのように...



 $ echo "@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru" >> /etc/xdg/lxsession/LXDE/autostart
      
      





次の2つのDEは非常に軽量です。 サーバーでGUIが本当に必要な場合は、おそらくそれらを使用する必要があります。



3. FluxBox

Debian / Ubuntuの場合:



 $ apt-get update $ apt-get install fluxbox xterm
      
      





CentOSの場合:



 $ yum install fluxbox xterm $ echo "PREFERRED=startfluxbox" >> /etc/sysconfig/desktop
      
      







4. Openbox

Debian / Ubuntuの場合:



 $ apt-get update $ apt-get install openbox xterm
      
      





CentOSの場合:



 $ yum install epel-release $ yum install openbox xterm $ echo "PREFERRED=openbox-session" >> /etc/sysconfig/desktop
      
      





これに続いて、デスクトップで最も人気のあるグラフィカルシェルが表示されます。



5.ノーム

Ubuntu / Debianの場合:



 $ apt-get update
      
      





最小インストール:



 $ apt-get install --no-install-recommends lightdm gnome-panel gnome-terminal
      
      





完全インストール:



 $ apt-get install gnome gnome-shell
      
      





注: Gnome用のVNCサーバーの構成に問題がありました... tightvncserverリポジトリとvnc4serverリポジトリのサーバーは協力することに同意しなかったため、いくつかのdebパッケージを手で組み立てる必要がありました。 サーバーを構成できない場合は、tigervnc-serverで収集したアーカイブをダウンロードしてインストールすることをお勧めします。 これを行うには:



 $ curl -LOk https://ruvds.com/downloads/tightvnc-packages.tar
      
      





または



 $ wget https://ruvds.com/downloads/tightvnc-packages.tar $ tar -xvf tightvnc-packages.tar $ cd ./tightvnc-packages $ dpkg -i *.deb || (apt -f install -y ; dpkg -i *.deb)
      
      





CentOSの場合:



 $ yum groupinstall "GNOME" $ echo "PREFERRED=gnome-session" >> /etc/sysconfig/desktop
      
      





6. KDE

Debianの場合:



 $ apt-get update
      
      





完全:



 $ apt-get install kde-full
      
      





標準:



 $ apt-get install kde-standart
      
      





最小インストール:



 $ apt-get install kde-plasma-desktop
      
      





CentOSの場合:



 $ yum groupinstall "KDE" $ echo "PREFERRED=startkde" >> /etc/sysconfig/desktop
      
      





7.シナモン

Debian / Ubuntuの場合:



 $ apt-get update $ apt-get install --no-install-recommends cinnamon-core lightdm
      
      





CentOSの場合:



 $ yum install cinnamon
      
      





8.メイト

Debian / Ubuntuの場合:



 $ apt-get update
      
      





完全:



 $ apt-get install mate-desktop-environment-extras
      
      





標準:



 $ apt-get install mate-desktop-environment
      
      





最小:



 $ apt-get install mate-desktop-environment-core
      
      





CentOSの場合:



 $ yum groupinstall "MATE Desktop"
      
      





「緊急モード」からGUIにアクセスする場合は、次を実行する必要があります。



 $ systemctl set-default graphical.target
      
      





さらに、システム起動時にグラフィカルシェルを確実に起動する必要があります。 これを行うには、たとえば次のような何らかのスクリーンマネージャー(ディスプレイマネージャー、DM)をインストールします。



 $ apt-get install lightdm
      
      





または、CentOSの場合:



 $ yum install lightdm
      
      





個人アカウントからアクセスする必要がない場合は、次を実行する必要があります。



 $ systemctl set-default multi-user.target
      
      





注:Ubuntuは、目的のDEをより便利にインストールするために、いくつかのメタパッケージをユーザーに提供します。



ユニット:



 $ apt-get install ubuntu-desktop
      
      





LXDE:



 $ apt-get install lubuntu-desktop
      
      





XFCE:



 $ apt-get install xubuntu-desktop
      
      





KDE:



 $ apt-get install kubuntu-desktop
      
      





さらに、GUIにリモートでアクセスするには多くの方法があります。



リモートアクセス



Rdp



仮想サーバーでは、OSに応じて、次のアクションを実行する必要があります。



Debian:



 $ apt-get install xrdp $ systemctl enable xrdp $ systemctl start xrdp
      
      





CentOS:



 $ yum install epel-release $ yum install xrdp tigervnc-server tigervnc-server-module $ chcon -t bin_t /usr/sbin/xrdp $ chcon -t bin_t /usr/sbin/xrdp-sesman $ firewall-cmd --zone=public --add-port=3389/tcp --permanent $ firewall-cmd --zone=public --add-port=3389/udp --permanent $ firewall-cmd --reload $ systemctl enable xrdp $ systemctl start xrdp
      
      





XDMCP:



 $ vi /etc/gdm/custom.conf [security] AllowRemoteRoot=true DisallowTCP=false [xdmcp] Enable=true MaxSessions=30
      
      





次に、Windowsを使用している場合、ビルトインRDPクライアントであるリモートデスクトップ接続を介して接続します。











標準ポートは3389です。freerdpとremmina、gnome-rdp、vinagreなど、リポジトリからインストールできるLinux用のクライアントは多数あります。



Mac OSの場合



SSHトンネルを介してRDPトラフィックを転送することもできます。 これを行うには、xrdp構成ファイルを修正します。



 $ vi /etc/xrdp/xrdp.ini
      
      





[globals]セクションで、次の行を追加します。address= 127.0.0.1



 $ systemctl restart xrdp
      
      





次の方法ですべてが正しいことを確認できます。



 $ nmap -p 3389 [IP] Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-04 13:07 MSK Nmap scan report for unspecified.mtw.ru ([IP]) Host is up (0.0087s latency). PORT     STATE  SERVICE 3389/tcp closed ms-wbt-server
      
      





次に、cygwinまたはmingw、linuxまたはmac osを使用する場合:



 ssh root@[IP] -L 3389:localhost:3389
      
      





PuTTYの場合:



PuTTYを起動します。 左側のツリーメニューで、接続→SSH→トンネル。 次に、新しい転送ポート(ソースポート:3389、宛先:localhost:3389)を追加します。 追加をクリックします。











次に、セッションセクションに移動します。 ホスト名(またはIPアドレス)フィールドにサーバーのIPを入力します。 [開く]ボタンをクリックし、SSH経由で接続するためのパスワードを入力します。











Windowsの場合:











Vnc



顧客:



Windowsの場合:



  1. www.realvnc.com
  2. www.tightvnc.com
  3. www.uvnc.com/downloads/ultravnc.html


Linuxの場合:



  1. 上記のクライアントを使用できます:remmina
  2. ブラウザで必要な場合:novnc-HTML5 VNCクライアント
  3. さまざまなもの:directvnc、gnome-rdp、krdc、xtightvncviewer、vinagre、xvnc4viewer


MAC OSの場合:



OS Xは、このための組み込みの画面共有アプリケーションを提供します。 Safariを使用することもできます



 vnc://yourserverip:5901
      
      





サーバー:仮想マシンで、VNCサーバーをインストールします。



 $ apt-get install tightvncserver
      
      





または



 $ apt-get install vnc4server $ yum install tigervnc-server
      
      





システムでファイアウォールが実行されている場合、対応するポートを開く必要があります。 CentOSの例



 $ firewall-cmd --zone=public --add-port=5901/tcp --permanent $ firewall-cmd --zone=public --add-port=5901/udp --permanent $ firewall-cmd --reload
      
      





次に、次を行います:



 $ vncpasswd Password: Verify:
      
      





Ubuntu / Debianでxfce4を使用しているときにアイコンとフォントの表示に問題がある場合:



 $ echo "export XKL_XMODMAP_DISABLE=1" >> ~/.vnc/xstartup
      
      





VNCサーバーを自動的に起動する場合は、ファイルを作成します。



 $ vi /lib/systemd/system/vncsrv.service
      
      





次の内容:



 [Service] Environment=RESOLUTION=800x600 Environment=COLOR=16 Environment=DISPLAY=1 [Unit] Description=VNC Server [Service] Type=forking ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} ExecStop=/usr/bin/vncserver -kill :${DISPLAY} ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} User=root [Install] WantedBy=multi-user.target
      
      





後でやる:



 systemctl daemon-reload systemctl enable vncsrv.service systemctl start vncsrv.service
      
      





これで、たとえばUltraVNCを介して接続できます。 これを行うには、UltraVNC Viewerを起動し、VNC Serverフィールドに[IP] :: 5901と書き込み(最初のディスプレイ、2番目などのデフォルトはそれぞれ5901、5902など)、接続ボタンをクリックします。



sshトンネルを介したvncトラフィックを許可することもできます。 これを行うには、次を編集します。



 $ vi /lib/systemd/system/vncsrv.service [Service] Environment=RESOLUTION=800x600 Environment=COLOR=16 Environment=DISPLAY=1 [Unit] Description=VNC Server [Service] Type=forking ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost ExecStop=/usr/bin/vncserver -kill :${DISPLAY} ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost User=root [Install] WantedBy=multi-user.target
      
      





次に、cygwinまたはmingw、linuxまたはmac osを使用する場合:



 ssh root@[IP] -L 5901:localhost:5901
      
      





PuTTYの場合:

PuTTYを起動します。 左側のツリーメニューで、接続→SSH→トンネル。 次に、新しい転送ポート(ソースポート:5901、宛先:localhost:5901)を追加します。 追加をクリックします。











次に、セッションセクションに移動します。 ホスト名(またはIPアドレス)フィールドにサーバーのIPを入力します。 [開く]ボタンをクリックし、SSH経由で接続するためのパスワードを入力します。











次に、UltraVNC Viewerを開き、[VNCサーバー]フィールドに「localhost :: 5901」と入力して接続します。











他のVNCサーバーを試すこともできます。



x11vncは実際にはVNCサーバー(vnc4serverやtightvncなど)ですが、既存のXセッションにアクセスできます。 つまり システムの起動時に起動するようにグラフィカルシェルを設定した場合は、次のオプションを使用できます。



 $ apt-get install x11vnc $ x11vnc -storepasswd $ x11vnc -usepw $ x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw & $ disown -h %1
      
      





(ポート5900で)VNCを介して接続した後、「緊急モード」と同じように見えるはずです。



OSの起動時にx11vncを起動するには、次の手順を実行します。



 $ vi /lib/systemd/system/xvncsrv.service
      
      





追加:



 [Unit] Description=X11VNC [Service] Type=forking ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :2 -usepw User=root [Install] WantedBy=graphical.target
      
      





次:



 systemctl daemon-reload systemctl enable xvncsrv.service systemctl start xvncsrv.service
      
      





Nx



もう少しおもしろい。 ある素晴らしい会社、NoMachineは、VNCに代わる優れたNXプロトコルを開発しました。 このプロトコルに接続するためのクライアントは無料で、NoMachineの公式サーバーソフトウェアには多大な費用がかかります。 かつて、同じ会社がFreeNXプロジェクトをサポートしていましたが、このプロジェクトは徐々に落ち着きました。 現在のバージョンは2008-08-22から0.7.2です。 しかし、幸いなことに、フォークを作成してx2goという名前を付けた人がいました。 残念ながら、x2goはNoMachineのNXまたはfreeNXのいずれとも互換性がありません。 そこで、 ここでクライアントを取り上げます。



Debianへのサーバーのインストール( ソース ):



たとえば、次のDEを配置します。



 $ apt-get install fluxbox
      
      





次に、公式サイトの指示に従います。



 $ apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E $ echo "deb http://packages.x2go.org/debian jessie main" > /etc/apt/sources.list.d/x2go.list $ echo "deb-src http://packages.x2go.org/debian jessie main" >> /etc/apt/sources.list.d/x2go.list $ apt-get update $ apt-get install x2go-keyring && apt-get update $ apt-get install x2goserver x2goserver-xsession
      
      





次のコマンドの出力は、x2goの準備ができたことを示しているはずです。



 $ systemctl status x2goserver ● x2goserver.service - LSB: Start and stop the X2Go daemon  Loaded: loaded (/etc/init.d/x2goserver)  Active: active (running) since Tue 2016-10-11 22:05:51 MSK; 30min ago ...
      
      





そして今、重要なポイントは、この修正なしで接続すると失敗することです! .profileファイルで「mesg n」という行を見つけて、「tty -s && mesg n」に置き換える必要があります。



 $ vi .profile
      
      





次のコマンドは、startfluxbox実行可能ファイルへのパスを表示します。これは、クライアントのセットアップ時に必要になります。



 $ whereis startfluxbox
      
      





Ubuntuへのサーバーのインストール:



 $ apt-get install xfce4 xfce4-terminal $ add-apt-repository ppa:x2go/stable $ apt-get update $ apt-get install x2goserver x2goserver-xsession
      
      





そして今、重要なポイントは、この修正なしで接続すると失敗することです! 行「mesg n ||」を見つける必要があります true "およびそれを" tty -s && mesg n "に置き換えます。



 $ vi .profile
      
      





CentOSへのサーバーのインストール:



 $ yum install epel-release $ yum install x2goserver x2goserver-xsession
      
      





Linuxのクライアントは、次のコマンドを使用して上記のリポジトリからインストールされます。



 $ apt-get install x2goclient
      
      





Windowsの場合-ダウンロード、インストール、実行。 上記と同じリンクにより、OS X用のクライアントがあります。



クライアントを開始します。











セッション設定で、次を指定します:ホストフィールド-サーバーのIP、ログインフィールド-ルート、ポートはそのまま、セッションタイプ-設定されたGUI。











ご覧のとおり、キーによる認証の可能性があります。 一般的に、多くのこと。 自分で見てください。 また、PulseAudioを介して音声を出力できます。



[OK]をクリックすると、パスワードの入力と選択したセッションへの接続のリクエストを受け取るためにクリックする必要があるこれらの魅力的な小さなものが表示されます。











注:リストにはお気に入りのFluxBoxが含まれていないため、パスを手で登録する必要があります。



x2goの重要な機能は、DEをまったくインストールせずにグラフィカルアプリケーションを実行できることです。 これを行うには、セッション設定のセッションタイプセクションで、単一のアプリケーション項目を選択し、実行するアプリケーションを選択するか、起動するプログラムへのパスを入力します。



この場合、サーバーへのソフトウェアのインストールは次のようになります。 Ubuntuの場合:



 $ add-apt-repository ppa:x2go/stable $ apt-get update $ apt-get install x2goserver x2goserver-xsession
      
      





そして今、重要なポイントは、この修正なしで接続すると失敗することです! 行「mesg n ||」を見つける必要があります true "およびそれを" tty -s && mesg n "に置き換えます。



 $ vi .profile $ apt-get install firefox xterm
      
      





そして、以下に示すようにセッションを設定すると、リモートサーバーでブラウザを起動でき、マシン上でそれを表示するウィンドウが開きます。











またはそう; 次に、ターミナルウィンドウが開きます。











以下に、現在のセッションのステータスウィンドウのスクリーンショットを見ることができます。 ボタンはオレンジ色の数字で表示されます:



  1. 「セッションの一時停止」-このボタンをクリックすると、接続は切断されますが、セッションは残り、再接続を待ちます。 サーバー上でユーザーが起動したすべてのアプリケーションは引き続き動作します。
  2. 「セッションの終了」-クリックすると、サーバーへの接続が切断され、サーバーで実行するアプリケーションが完了します。










Teamviewer



デスクトップにリモートでアクセスする最後の方法。



Ubuntuへのインストール:



 $ apt-get update $ apt-get install lubuntu-desktop $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386.deb $ apt-get -f install $ teamviewer --passwd [PASSWD]
      
      





Debianへのインストール:



 $ apt-get update $ apt-get install lxde lightdm $ reboot $ dpkg --add-architecture i386 $ apt-get update $ wget http://download.teamviewer.com/download/teamviewer_i386.deb $ dpkg -i teamviewer_i386.deb $ apt-get -f install $ teamviewer --passwd [PASSWD]
      
      





CentOSでのインストール:



 $ yum groupinstall "X Window system" $ yum install epel-release $ yum install fluxbox xterm lightdm $ systemctl set-default graphical.target $ reboot $ curl -o TeamViewer_Linux_PubKey.asc -Lk http://www.teamviewer.com/link/?url=354858 $ rpm --import TeamViewer_Linux_PubKey.asc $ curl -LOk http://download.teamviewer.com/download/teamviewer.i686.rpm $ yum install teamviewer.i686.rpm $ teamviewer --passwd [PASSWD]
      
      





また、TeamViewerライセンス契約に同意する必要があります。これは、「緊急モード」を使用して実行するか、/ opt / teamviewer / config / global.confファイルの最後に次の行を追加することができます。



 $ echo "[int32] EulaAccepted = 1" >> /opt/teamviewer/config/global.conf $ echo "[int32] EulaAcceptedRevision = 6" >> /opt/teamviewer/config/global.conf $ teamviewer --daemon restart
      
      





次のコマンドは、TeamViewerデーモンのステータスと接続に必要な9桁のTeamViewer IDを表示します:



 $ teamviewer --info
      
      







ここでダウンロードしたクライアントを起動した後、[パートナーUD]フィールドにTeamViewer IDを入力し、[パートナーに接続]ボタンをクリックする必要があります。 次に、TeamViewerはパスワードを要求します:[PASSWD]。











結論の代わりに



それがすべてのようです。 この記事がLinuxサーバーのユーザーにとって快適で便利な環境のセットアップに役立つことを願っています。



All Articles