やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

systemdでスクリプトの実行は確認できたが認証ダイアログが出て自動化できない……

 systemdとか意味わからん。疲れる。たかが実行するだけなのに……。もう触りたくない。

ターミナルを起動するサービスを作る

sudo vim /etc/systemd/system/startup_tarminal.service

startup_tarminal.service

[Unit]
Description=ターミナルを起動する。
After=local-fs.target network-online.target 
Requires=local-fs.target network-online.target

[Service]
User=pi
EnvironmentFile=/home/pi/root/sys/workflow/script/py/Python.News.20190927123127/src/env.txt
ExecStart=/bin/bash /home/pi/root/sys/workflow/script/sh/runnable/called/openbox/launch_ranger.sh
Restart=no
Type=simple

[Install]
WantedBy=graphical.target
systemctl enable startup_tarminal
systemctl start  startup_tarminal
systemctl status startup_tarminal

 認証ダイアログが出た。ウザい。俺だよ、いつもの俺だよ。わかってくれよ相棒。

f:id:ytyaru:20190928082544p:plain

 認証を成功させたのに、systemctl statusでは以下のようなエラーになった。

● startup_tarminal.service - ターミナルを起動する。
   Loaded: loaded (/etc/systemd/system/startup_tarminal.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

 928 10:19:38 raspberrypi systemd[1]: Started ターミナルを起動する。.
 928 10:19:39 raspberrypi bash[7148]: Error: Can't open display: (null)
 9月 28 10:19:39 raspberrypi bash[7148]: Failed creating new xdo instance
 9月 28 10:19:39 raspberrypi bash[7148]: Error: Can't open display: (null)
 928 10:19:39 raspberrypi bash[7148]: Failed creating new xdo instance
 928 10:19:41 raspberrypi bash[7148]: Unable to init server: Could not connect: 接続を拒否されました
 928 10:19:41 raspberrypi zenity[7176]: cannot open display: 

 「ディスプレイが開けない」という旨のエラーメッセージが、bashzenityから出ている。

 ExecStartで実行するlaunch_ranger.shスクリプトに以下を追記した。xdotoolコマンドを実行するのに必要らしい。

export DISPLAY=':0.0'

 あと、サービスにdisplay-manager.serviceを追加してみた。/etc/systemd/system配下をみてXSystemやディスプレイっぽいのを探してみただけで超適当。これが何なのか全く知らん。

[Unit]
Description=ターミナルを起動する。
After=local-fs.target network-online.target display-manager.service
Requires=local-fs.target network-online.target display-manager.service

[Service]
User=pi
EnvironmentFile=/home/pi/root/sys/workflow/script/py/Python.News.20190927123127/src/env.txt
ExecStart=/bin/bash /home/pi/root/sys/workflow/script/sh/runnable/called/systemd/launch_ranger.sh -d
Restart=no
Type=simple

[Install]
WantedBy=graphical.target

所感

 認証ダイアログが出て自動化できないんですけど……。バカなの? もうユーザ管理システムとかいらんわ。面倒くさいんだよ。良かったと思ったこと1度もないわ。ユーザフレンドリじゃないユーザ管理システムとはこれ如何に。

ユーザ管理システム<「え、その程度もできないの? そんなお前ごときがユーザになろうなんざ100年早いんだよ情弱が(笑)」

 お前がユーザの壁になってどうすんだよ。邪魔すんな。

 もう1PC1ユーザでいいだろ。共用する相手がいるリア充だけ初期設定で複数のユーザ作ればいいじゃん。こっちはボッチなんだよ! おひとり様専用OSにしろや! 時代は個性化なんだよちくしょうめ!

 というわけで、つまらないことで躓くばかりのsystemdは諦めた。またこれを繰り返すんだろうなぁ……。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux