Linux Mint 19にログインした後、ワインアプリが自動的に起動しない

Linux Mint 19にログインした後、ワインアプリが自動的に起動しない

Linux Mint 19(すべての「ドット」バージョン)には、「アプリケーションの実行」を追加するオプションがあります。

そこに次のスクリプトを追加しました。

#!/usr/bin/env sh

export DISPLAY=:0.0
/usr/bin/thunderbird &

sleep 2

export DISPLAY=:0.0
/usr/bin/google-chrome-stable &

sleep 2

export DISPLAY=:0.1
env WINEPREFIX="/home/<user>/.wine" wine C:\\windows\\command\\start.exe /Unix /home/<user>/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Notepad++.lnk &

このスクリプトの目的は簡単です。

  • 最初のモニターでThunderbirdを実行してください。
  • 最初のモニターでGoogle Chromeを起動します。
  • 2番目のディスプレイでNotepad ++を実行する

Notepad ++が起動しないことを除いて、すべてがうまく機能します。

私が今まで試したこと:

  • 順序を変更 - すべてのタスクを停止します。
  • 時間の短縮sleep– 行動の変化なし
  • ログを確認しました。何も見つかりません(使用gnome-system-logおよび含まれているログビューア)実行中のファイルまたは起動されたプログラムに関する情報
  • シェルから直接コマンドを実行 - 完全に動作
  • #!/usr/bin/env sh次に変更#!/usr/bin/env bash- 動作を変更しません。

私が試すことができる他のものがありますか?

ベストアンサー1

まあ、これは思ったより難しかったです。

問題は簡単です。export DISPLAY=:0.1この問題が原因で発生します。
以下は、リストの3番目の項目に対する試みです。セカンドモニタ

検索してみると、次のような文が見つかりました。マルチモニタに切り替えるときのウィンドウの配置(リンクはhttps://icyrock.com/blog/tag/xdotool/)。

最後に、私のファイルは次のようになります。

#!/usr/bin/env bash

env WINEPREFIX="/home/<user>/.wine" wine C:\\windows\\command\\start.exe /Unix /home/<user>/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Notepad++.lnk &

sleep 1

export DISPLAY=:0.0
/usr/bin/thunderbird &

sleep 1

export DISPLAY=:0.0
/usr/bin/google-chrome-stable &

sleep 3

# move to 2nd monitor
# https://icyrock.com/blog/tag/xdotool/
# https://unix.stackexchange.com/questions/96066/window-placement-when-switching-to-multiple-monitors

wid=`xdotool search --name Notepad++|head -1`
max_state=`xprop -id $wid _NET_WM_STATE`

wmctrl -ir $wid -b remove,maximized_vert,maximized_horz
eval `xdotool getwindowgeometry --shell $wid`

new_x=1600
if [[ "$X" -ge "$new_x" ]]; then
  new_x=0
fi

xdotool windowmove $wid $new_x $Y
if [ -z "${max_state/*_NET_WM_STATE_MAXIMIZED_*/}" ]; then
  wmctrl -ir $wid -b add,maximized_vert,maximized_horz
fi

xdotool windowraise $wid

今、すべてがうまくいきます。

Notepad ++が最初に起動します。初期化する時間を与えてから、2番目のディスプレイに移動します。

おすすめ記事