0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ssh ログオンした状態で Raspberrypi OS の対話的初期設定を終わらせる

Posted at

ssh ログオン時の問題

「RaspberryPi OS Lite を CUI でインストールしてヘッドレスでログイン」
https://qiita.com/nanbuwks/items/263e21451d230deeb62c
の設定をした後に、ssh でログオンした状態で

$ sudo raspi-config

としようとしても、

 1 System Options       Configure system settings                                       

あたりをしようとしたら、

 There was an error running option L1 Locale           

というエラーが出てうまく行かない。

$ sudo dpkg-reconfigure locales
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

リアルコンソールで走っている初期設定プログラム

調べてみると、キーボード設定がリアルコンソールで走っている。

$ ps -auxww | grep config
root      1055  3.1  3.3  21388 14640 tty8     S+   07:15   0:09 /usr/bin/perl -w /usr/sbin/dpkg-reconfigure -p critical keyboard-configuration

これは /usr/lib/userconf-pi/userconf-service が動作しているため。

systemctl を見てみると、

 userconfig.service   (略)     loaded activating start     start User configuration dialog

となっていて、

/lib/systemd/system/userconfig.service
の中身が以下のようになっている。

[Unit]
Description=User configuration dialog
After=systemd-user-sessions.service
Before=lightdm.service
[Service]
Type=oneshot
ExecStart=/usr/lib/userconf-pi/userconf-service
StandardInput=tty
Restart=on-failure
TTYPath=/dev/tty8
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
[Install]
WantedBy=multi-user.target

なので、 userconf-service や dpkg-reconfigure を kill しても復活してしまう。

初期設定プログラムを ssh 上で行う

この問題に対処するためには、以下のようにする。

一旦サービスを停止。

$ sudo systemctl stop userconfig.service

そのうえで、/usr/lib/userconf-pi/userconf-service を適当にコピーして、以下の箇所をコメントアウト。

    if [ -t 0 ]; then
        chvt "$VT"
    fi

この下にも、chvt を行っているところがあるのでそこもコメントアウト。

書き換えたスクリプトを実行し、終わらせます。

再起動すれば、初期設定プログラムが再度走ることがなくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?