しかつきかふぇ

ちょっとした休憩時間に

openSUSE 15.4 で XRDP をやってみる

このブログの方向性って・・・・?

例によってご無沙汰してます。鹿野です。 生きてます!! たぶん・・・?

今日は openSUSE 15.4 で XRDP を使ってリモート接続してみたので、その備忘録を書いておきます。
ただ忘れそうなので書くだけです、はい。

あ、コミケに来ていただいた皆様、ありがとうございました!!
写真の通り、冬に比べたら圧倒的に在庫少なくなりました(汗 ←ってこの写真じゃよくわからんね!
・・・と言っても今回の私、ちゃんおぷもちびぎーこの方にも何も書いていないのですけどね~
(聞くところによると、私がちびぎーこに寄稿しなかったの発刊以来初とのこと。まぢか~!!!

XRDP を使おうと思った経緯

てかふつーに openSUSE の PC を起動して、そこで作業すればいいだけの話なのですが、、、

  1. 仕事が Windows!(勘弁して。
  2. で、その仕事がいつになっても終わらない!(残業多い・・・
  3. デュアルブートopenSUSE が入ってる PC 再起動するの面倒!

とかいろいろあったわけです。 あとはそうだな~、Linux の入った PC を PyCharm の SSH 機能使ってデバッグって方法もあるんですけど、なんだかあれプロファイル切り替えがめんどくさくて使いにくいとかあるにはあるけど。

そんなこんなで、仕事で使用している Windows PC からリモートデスクトップ接続で openSUSE PC に接続出来たら便利だよな、たぶん!? ってことでやってみました。

まずはインストール手順

ふつーに zypper でインストールして、サービス立ち上げて、ファイアーウォールを開くだけです。

# インストール
sudo zypper install xrdp

# サービス起動
sudo systemctl enable xrdp
sudo systemctl start xrdp

# ポート開放
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload

KDE を使いたいんですけど~~

で、多分だけど GNOME 使ってる人はこの手順でおよそ OK で、ここまでやれば openSUSEGNOME が接続できるはず。
問題は KDE の方ですね。恐らく KDE ではなく、IceWM ってのが出てきてしまうはず。
(種明かしは後程。

KDE を使ってる場合、/etc/xrdp/startwm.sh から下記の一行を探して、修正しましょう。

修正前:

SESSION="gnome"

修正後:

SESSION="plasma"

なるほど gnome って設定していると IceWM が起動してくるのか・・・んなばかな!?
・・・ではなく、/etc/xrdp/startwm.sh のそのすぐ真下にネタが書いてありました。
あ、こちらはおよそ修正不要です。

  case $SESSION in
    sle)
      if [ -r /usr/bin/gnome-session ]; then
        export XDG_SESSION_TYPE=x11
        export GNOME_SHELL_SESSION_MODE=sle-classic
        /usr/bin/gnome-session --session gnome-classic
      elif [ -r /usr/bin/icewm-session ]; then
        /usr/bin/icewm-session
      fi
      ;;
    gnome)
      if [ -r /usr/bin/gnome-session ]; then
        export XDG_SESSION_TYPE=x11
        /usr/bin/gnome-session
      elif [ -r /usr/bin/icewm-session ]; then
        /usr/bin/icewm-session
      fi
      ;;
    plasma)
      if [ -r /usr/bin/startplasma-x11 ]; then
        export XDG_SESSION_TYPE=x11
        /usr/bin/startplasma-x11
      elif [ -r /usr/bin/icewm-session ]; then
        /usr/bin/icewm-session
      fi
      ;;
    icewm)
      if [ -r /usr/bin/icewm-session ]; then
        /usr/bin/icewm-session
      fi
      ;;
  esac

ようは、PC から GNOME を検索して、 GNOME がいなかったら IceWM を立ち上げるってわけですね~。なるほど~~。

だとしたらなんでデフォルトが plasma じゃなくて gnome なんだ!??
と、思わずぼやきたくなったのは私だけでしょうか???

日本語入力をしたい!!

openSUSE で XRDP を使おうとすると、もうひとつ重大問題が発生します。
それが、日本語入力ができないという問題。

とはいえ、正直開発環境として使いたいだけなので日本語入力できなくてもいいかな~とも思ったのですが、せっかくなので日本語入力できるようにしておきたいなと思って調べたところ、下記の方法で入力できることを確認しました。

修正するファイルは先程と同じ、 /etc/xrdp/startwm.sh を修正します。
末尾を下記のように修正してください。

修正前:

pre_start
wm_start
post_start

exit 1

修正後:

# ここから追加 ↓
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"
ibus-daemon -d
# ↑ ここまで追加

pre_start
wm_start
post_start

exit 1

とはいえ、この方法で本当に正しいか(というより抜けがないか?)若干怪しいところ。
後で詳しい方に確認しておこっと。

参考リンク

今回はこちらの記事を参考にさせていただきました。
ありがとうございます!!

bitWalk's: 【備忘録】Windows 10 から openSUSE Leap へリモートデスクトップ接続 Linux Mint MATE 20.1 でサーバ構築 #2 ssh/xrdp リモートデスクトップ | Snow System

ところで。。。

はてさて。今回の夏コミでは私は近年稀に見る「総オチ」状態だったのですが、、、こまりましたねぇ~~
とりあえず数か月前に作って、観る人も少なそうだからそのまま放置になってる動画2本を貼り付けておいて逃げる!!(ぉぃ

第1話:
youtu.be

第2話:
youtu.be

↑ の2本の動画でとりあえず動画のつくりかたもおよそわかったし、また気が向いたら続きを作ります(というより当面続きを作る予定なし!w
と、裏では一応新作小説を書いています。そろそろイチから気を取り直していかないとと思い始めてる今日この頃。。

以上、鹿野でした!