お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2020-06-24 19:50:45

komekome
新しいメンバ
登録日: 2020-06-24

ubuntu18.04.4でどうしても起動と同時に画面回転が出来ない。

ubuntu18.04.4で起動と同時に画面回転を行いたいのですが出来ません。

方法は、サービス化を利用して実現しようとしました。

/etc/systemd/system/Reverse.service
[Unit]
Description = Reversal daemon

[Service]
ExecStart = /opt/Reverse.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target


/opt/Reverse.sh
#!/bin/bash
export DISPLAY=:0
while true
do
   xrandr --output Virtual1 --rotate inverted
   xinput set-prop '9' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
done

このように実行し、ステータスを確認したところ、
サービス自体はactiveですが、
No protocol specified
Can't open display :0
と表示されており、画面回転が出来ません。
端末上で、xhost + を入力すれば画面反転が行われるので、
恐らくXサーバへのアクセス権が問題なのだと思いますが、どのように
すればよいか分かりません。教えて頂けませんか。

以下、回転のために行ったことを記します。
1、画面右上の▽ボタンのメニューか設定のディスプレイから回転できる
⇒どちらもに回転ボタンなし
2、rc.localファイルにコマンドを記入する
⇒このバージョンにはなかったため、作成し上記の回転コマンドを記入したが反映されず。catコマンドを利用したファイル書き込みコマンドは反応したため、問題はサービス化と同じか
3、Lightdmにコマンドを記入する
⇒Lightdmは、存在しなかったためダウンロードし、Lightdmの立ち上がり方法を試したが、このバージョンは、gdm3とLightdmの両立は難しいらしく、ubuntuが立ち上がらなくなり断念
4、/etc/gdm3/Init/Default
⇒Xrandrのコマンドを記入するも反応せず。

オフライン

 

#2 2020-06-25 06:45:54

ry
メンバ
登録日: 2008-07-30

Re: ubuntu18.04.4でどうしても起動と同時に画面回転が出来ない。

スクリプト /opt/Reverse.sh の実行はウィンドウ マネージャーの起動後になされなければ意味がありません。
作成したユニット ファイルには実行時の依存関係も順序関係も記述されていないため、このユニットがいつ実行されるかは systemd 次第です。
このため、ウィンドウ マネージャーが起動する前にスクリプトが実行されてしまっているのではないでしょうか。

GUI を使っていないのでウィンドウ マネージャが systemd で起動されのか、されるとしてユニット名が何になるのか存じませんが。ウィンドウ マネージャのユニット名が仮に wmnager.service とするると、Reverse.service に以下を追記すればうまくいくかもしれません。

コード:

[Unit]
Requires=wmnager.service
After=wmnager.service

ウィンドウ マネージャーが multi-user.target の中で起動されるなら、以下のようにも書けます。

コード:

[Unit]
Requires=multi-user.target
After=multi-user.target

オフライン

 

#3 2020-06-26 10:48:02

komekome
新しいメンバ
登録日: 2020-06-24

Re: ubuntu18.04.4でどうしても起動と同時に画面回転が出来ない。

ryさん
回答いただきありがとうございます。
確かに順序関係が記されておりませんでした。

教えていただいた方法をどちらも試してstatusを確認したところ、

コード:

Reverse.sh[1312]: No protocol specified
Reverse.sh[1312]: Can't open display :0
Reverse.sh[1312]: Unable to connect to X server

と表示され、回転できませんでした。
やはりXサーバーへのアクセスの方法に問題がありそうです。
もしくは、サービス化ではなく他の方法を考えるべきなのでしょうか。
ご教示いただきたいです。

オフライン

 

#4 2020-06-26 13:45:58

ry
メンバ
登録日: 2008-07-30

Re: ubuntu18.04.4でどうしても起動と同時に画面回転が出来ない。

wmnager.service は思いつきの出鱈目な名前なんだけど、正しいユニット名を調べましたか。

もっとも、ウィンドウ マネージャが systemd で起動されないときは、systemd でサービス化する方法自体が使えなさそうですが。

オフライン

 

#5 2020-06-26 13:59:48

komekome
新しいメンバ
登録日: 2020-06-24

Re: ubuntu18.04.4でどうしても起動と同時に画面回転が出来ない。

ryさん
回答いただきありがとうございます。

サービスの名前に関してですが、

コード:

Requires=display-manager.service
After=display-manager.service

で行いました。
ウィンドウマネージャ自体は、systemdで起動されているかと思っています。

オフライン

 

Board footer

Powered by FluxBB