う~さんの騷がしい日々
カーネーション

「旦那、いよいよリモートデスクトップですか?」
『そや、Linux機の環境設定などをリモートでやろ思おてな』

1. リモートデスクトップの導入

1.1 リモートデスクトップ ソフトの選定候補

サーバは Linux Mint 21.1、クライアントは Windows10 pro を使用
開発環境に導入するためログインが簡単なものを選定します
  1. Google Chrome リモートデスクトップ
    • クライアント PC はモダンブラウザでアクセス可能
    • Android、ChromeOS、iOS はアプリのインストールが必要
  2. Linux リモートデスクトップ xrdp
    • クライアントは Windows の標準アプリ「リモートデスクトップ接続」を使用

1.2 リモートデスクトップ 参考資料

  • Chrome: 「Ubuntu のリモートデスクトップ設定」
  • Chrome: 「画面共有編」
  • Chrome: 「インストール 接続編」
  • Chrome: 「専用アプリインストール」
  • xrdp: 「Linux Mint 接続する・される」
  • xrdp: 「Linux Mint サーバ構築」

1.3 Chrome リモートデスクトップ のインストールと確認

インストール スクリプト
# Chrome リモートデスクトップをブラウザでダウンロードしたら...
echo . install chrome
   pushd ../ダウンロード
   sudo apt install -y ./google-chrome-stable_current_amd64.deb
echo . install chrome remote-desktop (APP)
   sudo apt install -y ./chrome-remote-desktop_current_amd64.deb
   popd
echo . 不具合のパッチ
   mkdir ~/.config/chrome-remote-desktop

確認
Chrome で使えないのは、ログインでホストで発行したアクセスコードを入力して接続することです
直接ログインする方法を探していた時にトラブルが発生しました

USBメモリが自動マウントできない!
→ 「Not authorized to perform operation」
Chrome リモートデスクトップ が悪さしており、たちが悪いので退治する!
頭に来た人の記事(特定のゲームソフトとの組み合わせでメモリ 48G使い切る)から拝借したため
"purge"(悪魔払い) が付いています、
しかし、デスクトップアプリはアンイストールできません、アイコンを消すぐらいしか手がない

sudo apt-get --purge remove chrome-remote-desktop

1.4 Linux リモートデスクトップ xrdp のインストールと確認

インストール スクリプト
# リモートデスクトップ xrdp
echo . インストール
   sudo apt install -y xrdp
echo . サービスが設定されていることを確認
   systemctl -a | grep xrdp
echo . xrdpの有効化
   sudo systemctl start xrdp
   sudo systemctl enable xrdp
echo . ファイアウォール設定
   sudo ufw allow 3389
   sudo ufw reload

確認
xrdp のログインは現在ログインしていないユーザで行います (常識?)
また、sudo を使うならログアウトしてからリモートログインします

インストールに使っていた "Xed" がエラーになる
→ 「Authorization required, but no authorization protocol specified」
「承認が必要ですが、承認プロトコルが指定されていません」
"Xed"は "gedit"から派生したエディターで "Linux Mint"に採用されています
このエディタにこだわりは無いので CUI で良さげな "GNU nano" を選定しました

「USB をマウントできません」またお前か!
→ 「Device/dev/sdb1 already mounted」
「フォルダ USB を書き込みモードで開けません」
→ 「このファイルを扱うアプリケーションが登録されていません」

早いもの勝ちと言う事ですか?
複数セッションが立ち上がっているのが原因です
USB の利用もそろそろ潮時ですかね?

「設定ファイルの修正が必要」との記事が多いですが無修正で動いています

ということで リモートデスクトップ xrdp を選定しました

2. ファイル共有 - Linux Samba

USB に代わる仕組みを導入します
  1. Samba に共有ファイルを置く (電源入れっぱなしのサーバ運用ならこれ)
  2. Samba, Windows に共有ファイルを置き必要な時に双方向に同期する
    chmod など更新日時が設定されないファイルを同期する場合は、
    remove + copy で転送する、touch するなど工夫が必要です

2.1. 指定されたフォルダまたはファイルを複写する (nanoTools)

 int copy( <folder[/wildcard]>, <folder> [," [sync] [progress]"])
 int copy( <file>, <file | folder> )
・名前 / サイズ / 日時 が異なるファイルのみ差分コピーする
・"sync" オプションを指定すると更に出力側にのみ存在するファイルを削除する(同期コピー)

2.2 双方向に同期

IE

3. 嬉しかったこと

  • 長年 ThinkPad を愛用しておりキーボードにはこだわりがあります
  • Linux 機は Fn, Ctrl がひっくり返っており、気付くと Fn + S を押しています
  • 「半角/全角」キーは Windows10 辺りから「CapsLock」キーが使えるようになり重宝しています
  • リモートデスクトップにより使い慣れたエディタでカット&ペースト出来るようになりました
  • 要はサーバは最低限の APP が立ち上がっているのが理想
  • USB は Linux での入力が辛かったため持ち運んでいたため、これで解決です

4. ちょっと いい話

「オープンソースライセンスの背景と歴史」

ちなみに、AWK˜plus for Java は 2010年 GPLv3 ライセンスでリリースしました

「Table of contents」 2023.05.02