sshのX11Forward

VPSで、X11のアプリ使うため、X11のforwardを試行。
サーバー/クライアントが錯綜してややこしいので、最初に整理。
remote machine: VPS: sshd: X11 client: ubuntu 18.04
local machine: Think Pad: X11 server: Arch Linux

remote:
/etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalHost no
X11DisplayOffset 10はdefautなので設定の必要はない。
設定を変更したら、service sshd restartで再起動しておく。
# sshd -Tで設定が確認できる。
remote側では、デスクトップをインストールする必要はないが、X11のインストールが必要。その際に、xauthはインストールされているはず。
xclockやxeyesでテストするためには、apt install x11-appsでインストールしておく。

local:
/etc/ssh/ssh_config
local側の準備は不要で、ForwardAgent, ForwardX11, ForwardX11Trustedはいずれもyesである必要はない。ForwadX11Trusted noの時は、20分でタイムアウトするので、ForwardX11Timeoutを設定した方がよいかも。起動時の-oオプションで設定ができる。
ForwardX11 yesで起動時の-Xオプションを省略できる。
Compression yesで通信を圧縮できるが、起動時の-Cオプションと同じ。
ForwardX11Trusted yesは、起動時の-Yオプションと同じ。

X11を起動した後に、terminalから、ssh接続する。
# ssh -v -X user@domain.com
-vオプションをつけて接続すると、ログオン後に
debug1: Requesting X11 forwarding with authentication spoofing.
が表示されて、動作が確認できる。
# echo $DISPLAY
# xauth list
# ssh -4Y user@server.com
-Cオプションで圧縮しても、速度にかわりは感じない。
# ssh -Q cipherで利用できる暗号アルゴリズムを表示できるが、defaultは、chacha20-poly1305のようなので、aes-128-cbcよりも早い。
# openssl speed -evp chacha20 aes
remote側がrootの場合は、/root/.Xauthorityがないため、X11Forwardingがエラーになる。
X11 connection rejected because of wrong authentication.
一般ユーザから、マージして/root/.Xauthorityを作成する。
# xauth merge /home/username/.Xauthority

軽量のグラフィック・ブラウザをいろいろ試してみる。
ubuntu 18.04は、firefox, arora, chromium-browser , dillo, epiphany-browser, falkon, hv3, konqueror, surf
他のディストリでは、netsurf, min, midori, seamonkeyなどがある

firefox、遅すぎて実用にならず
arora、遅すぎて、表示できない
chromium-browser、遅すぎてタイムアウト
epiphany-browser、遅すぎて実用にならない
falkon、遅すぎて表示できない
hv3、エラーで表示できない
konqueror、遅すぎて表示できない

まずは、dillo
# apt install dillo
個人設定ファイルを作成。
# cp /etc/dillo/dillorc ~/.dillo
# cp /etc/dillo/keysrc ~/.dillo
# cp /etc/dillo/domainrc ~/.dillo
そのままでは日本語が使えないので、
# apt install fonts-ipafont
# fc-list : family; フォントを確認
# vi dillorc; fonts_*を4箇所を”IPAゴシック”に変更する。
vi cookiesrc; 最初の行を、DEFAULT ACCEPTに変更
# dillo www.yahoo.co.jp; で確認。
Javascriptが使用できないことが残念だが、何とか試用できる程度に動くので感激。
# dillo www.yahoo.co.jp

次に、surf。http://surf.suckless.org/
# apt instrall surf
# touch ~/.surf/styles/default.css
# surf www.yahoo.co.jp
遅いが、なんとか使える。ページロードの%が表示されるので便利。
# apt install suckless-tools; dmenuがインストールするとCTRL+gでURL入力が出来る。

min。
ローカルで、https://minbrowser.github.io/min/から、debをダウンロードし、sftpでリモートに転送して、インストールする。
# sftp user@remote.com
sftp> lcd Downloads
sftp> lls
sftp> put min_1.8.1_amd64.deb
sftp> quit
# ssh user@remote.com
# dpkg -i min_1.8.1_amd64.deb
インストールできなかったので、dependenciesを修復
# apt –fix-broken install
遅すぎて実用にならず、残念。
# apt remove min
# apt autoremove

netsurf。
バイナリ・パッケージは古いので、ソースからコンパイルが必要。
http://www.netsurf-browser.org/から、netsurf-all-3.8.tar.gzをダウンロードしてもよいが、専用のスクリプトがある。
手順は、quick-start.mdに記載のとおり。
# apt install wget
# wget https://git.netsurf-browser.org/netsurf.git/plain/docs/env.sh
# unset HOST
# source env.sh
ns-pakage-installはうまくいかないので、手動で必要なパッケージをインストール。
# apt install make gcc bison flex pkg-config libexpat1-dev gperf libcurl-openssl libpng-dev libgtk2.0-dev libhtml-parser-perl libjpeg-dev libcurl4-openssl-dev libssl-dev
# ns-clone
# ns-pull-install
# cd ~/dev-netsurf/workspace
# source env.sh
# cd netsurf
# make
# make install
# cd ../inst-x86_64-linux-gun
# cp -av bin/netsurf-gtk /usr/bin
# cp -av share/netsurf /usr/share
# netsurf-gtk www.yahoo.co.jp
遅いがなんとか使用できる。レスポンスは一番よい。
javascriptは、オフになっているので、Edit . Preference . Contetで、Enable
High Quality ImageとAnimationもオフにした。
Javascriptを有効にしても、ほとんどの場合は、実際に動作するわけではないので、Google Mapも表示できない。
file///file.html で、ローカルのファイル表示に使えば便利。

libcurl.so.4: version `CURL_OPENSSL_3′ not foundが表示された場合は、libcurl3でコンパイルされているので、libcurl4-openssl-devをインストールし直して、再コンパイル。

Unable to locate theme engine in module_path: “pixmap” が表示される場合は、gtk2-engines-pixbufをインストール。

コメント