ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2024年1月21日日曜日

sudo で X11 を有効にする

Cadence のインストーラー (installScape) を sudo で起動しようとすると,X11 に繋がらないと怒られる.
  1. % sudo /usr/cadence/iscape.04.23-s012/bin/iscape.sh [~]
  2. Initializing InstallScape using JVM at /usr/cadence/iscape.04.23-s012/runtime/LNX86/bin/java. This might take some time...
  3. X11 connection rejected because of wrong authentication.
  4. Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:19.0' as the value of the DISPLAY variable.
  5. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
  6. ...
  7. Failed with InstallScape JVM.
  8. Now loading System JVM...
  9. X11 connection rejected because of wrong authentication.
  10. Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:19.0' as the value of the DISPLAY variable.
  11. at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
  12. ...
  13. Error:
  14. /bin/java
  15. Could not use JVM packaged with Installcape. The Java in your path did not work or could not find Java in your path. Ensure that Java 1.6 or later is in your PATH environment variable and restart InstallScape.
sudo で X11 を有効にするためには,xauth を用いてユーザーの X サーバ接続権限情報を sudo に与えてしまう.ユーザー名が [user] だとすると以下のような感じ.
  1. sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)
/root/.Xauthorityが無いと怒られる場合は空のファイルを作ってから再実行.
  1. % sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)
  2. xauth: file /root/.Xauthority does not exist
  3. % sudo echo " " > /root/.Xauthority
  4. % sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)


まあ,オチとしては,installScape は root で実行するものではないという事なのですけどね.インストール先のパーミッションを適当な管理者にしてユーザー権限でインストールすべし.

2023年4月26日水曜日

ECS LIVAX2-120 に Linux Mint を入れてVNCサーバーにする

 ただの日記です.タイトル通り,ECS LIVAX2-120 に Linux Mint (XFCE) を入れてVNCサーバーにします.スペックは以下の通り.
・Celeron N3050(1.6GHz、ビデオ機能内蔵)
・DDR3L 4GB
・SSD 128GB
・HDMI 1.4a(30Hz 4K出力対応)、ミニD-Sub15ピン
・Gigabit Ethernet
・IEEE 802.11ac/a/b/g/n無線LAN、Bluetooth 4.0(ただし使えていない)
・USB 3.0×3

元々は Cent OS 7 でこれは後述するネットワークの問題はなかったのだが,Gnome があまりに重たすぎるので軽量めの Linux Mint に移行した.

Windows PC に VNC Viewer を入れて,ポートフォワードで Server に接続する.ネットワーク構成は以下のような感じ.

Windows PC (VNC Viewer)
↓ [ssh]
Linux Mint (VNC Server)
↓ [ssh -X]
計算機サーバー群

直接計算機サーバーに VNC を立ち上げないのは,サーバーにVNCのポートを開けるのが怖い事とサーバーごとに個別に VNC Server を立ち上げなくてすむ利点がある.

Linux Mint 21.1 をダウンロードし,Rufus でブート USB を作成.インストールは普通に実施する.VNC サーバーにするために SSH (oepnssl) と VNC (tigerVNC) をインストールするのだが, 大学のネットワークが複雑すぎてインターネットに到達できない.仕方なく Buffalo の USB WiFi ドングル (WI-U2-433DMS/N) をさして携帯テザリングしようと思ったのだが,ドライバがなくて WiFi が使えない.なので以下のサイトを参考に,Windows マシンで Github のドライバのデータをダウンロードして,Linux Mint 上でコンパイルした.
https://hirotaka-hachiya.hatenablog.com/entry/2020/12/14/184422

WiFi テザリングができるようになったら,SSH と VNC を「ソフトウエアの管理」からインストールする.アプリが入ればインターネットは不要なので, WiFi は消えてしまって構わない.

VNC Server を起動するも X が正常に立ち上がらない.~/.vnc/xstartup を以下のように編集して VNC を再起動する.

def 
export XKL_XMODMUP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/etc/X11/Xsession
/usr/bin/startxfce4 &
/usr/bin/xfce4-session &
/usr/bin/xfce4-pannel &
/usr/bin/xfce4-terminal &

VNC Server の起動はサービスに登録するのがスマートだろうが,過去の癖から手動で起動するようにしている.以下のエイリアスを作成している.Virtuoso を起動するため "-depth 24" で色解像度 24bit を指定する.
alias vncserver4k="vncserver -geometry 3800x2000 -depth 24"

すべての準備がすめば Windows PC で以下のバッチファイルを作成して,ポートフォワードと VNC Cliant を起動する.
start /b cmd /c "C:\PROGRA~1\PuTTY\putty.exe -load liva -l [userID] -pw [userPW]"
timeout 30
start /b cmd /c "C:\PROGRA~1\UVNCBV~1\UltraVNC\vncviewer.exe -connect 127.0.0.1::5901 -nocursorshape -notoolbar -noauto -password [userPW] -8greycolors"
timeout は SSH セッションが成立するのに時間がかかるが予測がつかないので少し長め,接続を確認したら手動でスペースを打って次に進めている.パスワード平文で保存しているのでセキュリティ的には危ないかもしれない.

Celeron N3050 は今となってはゴミかもしれないが,シンクライアント的に使うにはまあ十分かなぁ.4KのVNCもなんとか使えてる.ただしCADのログファイルがガンガン Terminal に出力されると途端にカクカクし始めるけれど...

2022年11月26日土曜日

サーバーの物理的に引っ越したらネットワークがつながらなかった

サーバーを物理的に別の場所に引っ越したらネットワークにつながらなくて7ヶ月ほど長らく苦しんでいた.オチとしては,

/etc/sysconfig/network-scripts/ifcfg-xxxx

が前の場所に向けて設計されていたので,NetworkManager (GUI) の設定と矛盾していて動作ができなかったみたい.接続プロファイル作り直したらあっさり動いてトホホ.どこカスタムしたかなんて覚えてないしな.OS 入れ直せばよかったのかも.(でも OS 入れ直すと CAD 動かすためのシェアードファイル探すの大変だしな)