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サーバーのユーザーにとって快適で便利な環境のセットアップに役立つことを願っています。

Source: https://habr.com/ru/post/J312556/


All Articles