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을 실행하세요.
  • 두 번째 디스플레이에서 Notepad++ 실행

Notepad++가 시작되지 않는 것을 제외하면 모든 것이 잘 작동합니다.

내가 지금까지 시도한 것 :

  • 순서 변경 - 모든 작업을 중지하세요.
  • 시간 단축 sleep– 행동 변화 없음
  • 로그를 확인했습니다. 아무것도 찾을 수 없습니다(사용gnome-system-log및 포함된 로그 뷰어) 실행 중인 파일 또는 시작된 프로그램에 대한 정보
  • 쉘에서 직접 명령 실행 - 완벽하게 작동
  • #!/usr/bin/env sh다음으로 변경 #!/usr/bin/env bash- 동작을 변경하지 않습니다.

제가 시도할 수 있는 다른 것이 있나요?

답변1

음, 이게 생각보다 어려웠어요.

문제는 간단합니다. export DISPLAY=:0.1이 문제로 인해 발생합니다.
다음은 목록의 세 번째 항목에 대한 시도입니다.두 번째 모니터.

검색을 해보니 다음과 같은 글을 발견했습니다.다중 모니터로 전환 시 창 배치(링크는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

로그인 후 이 스크립트를 수동으로 실행했지만 Mint PC에서 비슷한 작업을 수행했습니다. 사용하기 더 편한 것 같아요xdg-열기.desktop 파일을 사용하면 명령이 변경되어도 스크립트가 계속 작동합니다. 또한 명령의 컨텍스트를 지정할 필요가 없습니다(& 사용).

#!/bin/bash

#### This script configures my desktop and other settings ####

SYSTEM_DIR=/usr/share/applications
USER_DIR=$HOME/.local/share/applications

#### Start my preferred programs ####
xdg-open $SYSTEM_DIR/google-chrome.desktop
xdg-open $USER_DIR/org.gnome.Evolution.desktop
xdg-open $SYSTEM_DIR/homebank.desktop
xdg-open $USER_DIR/org.libreoffice.LibreOffice.desktop
xdg-open $USER_DIR/virt-manager.desktop
xdg-open $USER_DIR/rhythmbox.desktop
xdg-open $SYSTEM_DIR/FAHControl.desktop
#### End start preferred programs ####

시스템이 로그인을 완료하는 데 약간의 시간이 걸릴 경우를 대비하여 스크립트 시작 부분에서 약간의 지연을 원할 수 있습니다.

관련 정보