【Raspberry Piセットアップ方法(旧式)】ラズパイ & Remmina on LinuxでRDP接続してリモートデスクトップさせてみる
※ 当ページには【広告/PR】を含む場合があります。
2020/03/29
2022/04/16
目次
- 1. ラズパイ側での下準備
- 1-1. ラズパイの動作環境確認
- 1-2. ラズパイの自動ログイン機能
- 1-3. パスワードの変更
- 1-4. 自動ログイン設定の解除
- lightdm.conf
- autologin@.service
- 2. xrdpをRDPクライアント(ラズパイ)にインストール
- 3. SSHサーバーの起動
- 4. pi(デフォルトユーザー名)の変更
- 5. SSHのポート番号の変更
- 6. IPアドレスの固定
- 6-1. Wi-Fiの初期設定
- 6-2. IPアドレス値の固定
- 6-3. おまけ:IPの確認コマンドの色々
- networkctl
- hostname
- ip
- 7. 補足編 〜 Dockerとdocker-composeを使えるようにしておく
- 8. ラズパイへRDP接続する
- 9. まとめ
ラズパイ側での下準備
ラズパイの動作環境確認
lsb_release -a
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
ラズパイの自動ログイン機能
Raspberry Pi OS
ユーザー名:
pi
パスワード:
raspberry
root
pi
パスワードの変更
raspi-config
$ sudo raspi-config
1. System Options > S3. Password
自動ログイン設定の解除
lightdm.conf
/etc/lightdm/
lightdm.conf
$ sudo nano /etc/lightdm/lightdm.conf
...中略
#autologin-user=pi #👈 ココをコメントアウト
...
autologin@.service
/etc/systemd/system/
autologin@.service
$ cat /etc/systemd/system/autologin@.service
#...中略
[Service]
#The VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
#ExecStart=-/sbin/agetty --autologin <カスタムユーザー名> --noclear %I $TERM
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
#...以下略
pi
ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
xrdpをRDPクライアント(ラズパイ)にインストール
+ SSH接続
+ VNC接続
+ RDP接続
xrdp
xrdp
$ sudo apt update && sudo apt upgrade
$ sudo apt install xrdp
$ xrdp --help
xrdp 0.9.9
A Remote Desktop Protocol Server.
Copyright (C) 2004-2018 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--enable-ipv6
--enable-jpeg
#...中略
Compiled with OpenSSL 1.1.1d 10 Sep 2019
$ apt-cache depends xrdp
xrdp
依存: adduser
依存: lsb-base
依存: ssl-cert
依存: libc6
依存: libfuse2
依存: libjpeg62-turbo
依存: libopus0
依存: libpam0g
依存: libssl1.1
依存: libx11-6
依存: libxfixes3
依存: libxrandr2
推奨: fuse
fuse3
推奨: xorgxrdp
提案: guacamole
提案: <xrdp-pulseaudio-installer>
SSHサーバーの起動
$ sudo raspi-config
3. Interfacing Options > P2. SSH
はい
クライアント側のsshで接続
$ ssh pi@192.168.0.105
pi@192.168.0.105\'s password:*********
Linux raspberrypi 4.19.102-v7+ #1295 SMP Thu Feb 6 15:43:59 GMT 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 7 18:40:24 2020
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ who
pi tty1 2020-02-07 19:07
pi pts/0 2020-02-07 19:33 (192.168.0.108)
$ exit
ログアウト
Connection to 192.168.0.105 closed.
who
192.168.0.105
tty1
pts/0
192.168.0.108
SCPコマンドでssh接続間のファイルのやり取り
scp
$ scp [オプション] [送り元のファイルかフォルダ] [送り先のパス]
##👇クライアント > サーバー(IP:192.168.0.105の時)
#① クライアントの1つのファイル(~/Desktop/hoge.dat)をサーバー(のHomenのred-tacoフォルダ)に送る
$ scp ~/Desktop/hoge.dat pi@192.168.0.105:~/red-taco/
#② フォルダの中身を全て送りたい場合は-rオプションを使う
$ scp -r ~/Desktop/red-taco pi@192.168.0.105:~/red-taco/
#③ SSH開放ポートが22以外なら-Pオプションを使う
$ scp -P 55555 -r ~/Desktop/red-taco pi@192.168.0.105:~/red-taco/
##👇サーバー(IP:192.168.0.105の時) > クライアント
#① サーバーの1つのファイル(~/red-taco/hoge.dat)をクライアント(のHomenのDesktopフォルダ)に送る
scp pi@192.168.0.105:~/red-taco/hoge.dat ~/Desktop/
#② フォルダの中身を全て送りたい場合は-rオプションを使う
$ scp -r pi@192.168.0.105:~/red-taco ~/Desktop/
#③ SSH開放ポートが22以外なら-Pオプションを使う
$ scp -P 55555 -r pi@192.168.0.105:~/red-taco/ ~/Desktop/
pi(デフォルトユーザー名)の変更
pi
一時的な作業用ユーザーの作成
$ sudo useradd temp
$ sudo gpasswd -a temp sudo
ユーザ temp をグループ sudo に追加
$ sudo passwd temp
新しいパスワード:*******
新しいパスワードを再入力してください:*******
passwd: パスワードは正しく更新されました
(余談)rootでログイン
root
$ cat /etc/ssh/sshd_config
#...中略
#Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#...以下略
$ sudo nano /etc/ssh/sshd_config
#...中略
#Authentication:
PermitRootLogin yes
tempユーザーでログイン
pi
$ sudo nano /etc/systemd/system/autologin@.service
#...中略
[Service]
#the VT is cleared by TTYVTDisallocate
#ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
/etc/systemd/system/getty@tty1.service.d/autologin.conf
$ sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
#ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
$ sudo reboot
Connection to 192.168.0.103 closed by remote host.
Connection to 192.168.0.103 closed.
temp
pi
$ usermod -l hogehoge pi
usermod: user pi is currently used by process 1234
raspi-config
$ sudo raspi-config
#👇選択肢から
#1. System Option >
#S5. Boot / Auto Login >
#B1. Console
#の順で変更
$ ssh temp@192.168.0.105
temp@192.168.0.105\'s password:******
Linux raspberrypi 4.19.102-v7+ #1295 SMP Thu Feb 6 15:43:59 GMT 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Could not chdir to home directory /home/temp: No such file or directory
temp@raspberrypi:/$ who
temp pts/0 2020-02-07 21:14 (192.168.0.108)
temp
temp
piからユーザー名を変更する
usermod
pi
red-taco
$ sudo usermod -l red-taco pi #ユーザー名変更
$ sudo usermod -d /home/red-taco -m red-taco #ホームディレクトリの名前修正
$ sudo groupmod -n red-taco pi #権限グループの変更
red-taco
pi
$ ssh red-taco@192.168.0.105
red-taco@192.168.0.105\'s password:*******
Linux raspberrypi 4.19.102-v7+ #1295 SMP Thu Feb 6 15:43:59 GMT 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 7 21:04:59 2020
red-taco@raspberrypi:~ $ who
red-taco pts/0 2020-02-07 21:25 (192.168.0.108)
後片付け
temp
$ sudo userdel -r temp
あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:
#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。
[sudo] red-taco のパスワード:*********
userdel: temp のメールスプール (/var/mail/temp) がありません
ここまでの内容で参考にさせて頂いたサイト
SSHのポート番号の変更
22
55555
$ sudo nano /etc/ssh/sshd_config
#...中略
#Port 22
Port 55555
#...以下略
$ sudo /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.
$ ssh red-taco@192.168.0.105 -p 55555
red-taco@192.168.0.105\'s password:*********
Linux raspberrypi 4.19.102-v7+ #1295 SMP Thu Feb 6 15:43:59 GMT 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Feb 8 02:10:11 2020 from 192.168.0.108
red-taco@raspberrypi:~ $
IPアドレスの固定
Wi-Fiの初期設定
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="********" # Wi-Fiのssid名
psk="********" # Wi-Fiのパスフレーズ
key_mgmt=WPA-PSK
}
IPアドレス値の固定
192.168.0.250
/24
192.168.0.1
$ sudo nano /etc/dhcpcd.conf
#...中略
#以下をファイル内に追記
interface wlan0
static ip_address=192.168.0.250/24 # 固定したいIP+サブネットマスク
static routers=192.168.0.1 # デフォルトゲートウェイ
static domain_name_servers=192.168.0.1 # デフォルトゲートウェイ
$ ifconfig
#...中略
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.250 netmask 255.255.255.0 broadcast 192.168.0.255
#...
192.168.0.250
おまけ:IPの確認コマンドの色々
ifconfig
networkctl
$ networkctl status
WARNING: systemd-networkd is not running, output will be incomplete.
● State: n/a
Address: 192.168.0.250 on wlan0
fe80::a3d5:12:4be7:6270 on wlan0
Gateway: 192.168.0.1 on wlan0
hostname
$ hostname -I
192.168.0.250
ip
$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.0.250/24 brd 192.168.0.255 scope global noprefixroute wlan0
valid_lft forever preferred_lft forever
補足編 〜 Dockerとdocker-composeを使えるようにしておく
$ curl -sSL https://get.docker.com | sh
$ sudo pip3 install docker-compose
$ sudo apt install python3-pip
No package 'libffi' found
libffi
$ sudo apt update
$ sudo apt install libffi-dev
sudo
$ docker ...
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=alpine&tag=edge: dial unix /var/run/docker.sock: connect: permission denied
sudo
$ whoami
red-taco
#👇権限を与えたいユーザーに"red-taco"の箇所を置換える
$ sudo usermod -g docker red-taco
$ sudo systemctl restart docker.service
$ id red-taco
#👇ユーザーにdockerの実行権限が付与されている
uid=1000(red-taco) gid=995(docker) groups=995(docker),...
sudo
ラズパイへRDP接続する
ラズパイのIP固定方法
SSHのポート番号変更
Remmina
Linuxデスクトップの動作環境
Remmina
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ cat /etc/debian_version
10.3
LinuxにRemminaのインストール
Remmina
Remmina
Remminaを使ったRDP接続
新規プロファイル作成
名前:
お好きなプロファイル名
#例)red-taco@rasppi
プロトコル:
RDP
サーバー:
ホスト機(ラズパイ)のIP
#例)192.168.0.250
ユーザー名:
ホスト機(ラズパイ)へログインするユーザー名
#例)red-taco
ユーザーパスワード:
ログインするユーザーのパスワード
解像度:
1024x768(カスタム)
#お使いのディスプレイに合わせて設定
色数:
GFX RFX(32bpp)
#画面転送量に関連
1152x864
RemoteFX(32bpp)
thinclient_driversの処理
thinclient_drivers
/etc/xrdp/sesman.ini
FuseMountName=.thinclient_drives
$ sudo nano /etc/xrdp/sesman.ini
#....中略
[Chansrv]
; drive redirection, defaults to xrdp_client if not set
; FuseMountName=thinclient_drives ; 👈コメントアウト
FuseMountName=.thinclient_drives
[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
thinclient_drives
xrdp
$ ls ~
thinclient_drives
$ rm -rf thinclient_drives
$ sudo systemctl restart xrdp
まとめ
記事を書いた人
ナンデモ系エンジニア
電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。
カテゴリー