PlayOnLinux용 설치 스크립트

PlayOnLinux에서 게임을 잘하고 있습니다.
되는 게임은 몇 개 안되지만 그래도 그게 어딥니까 ㅎㅎ
그런데 공식 스크립트에 없는 프로그램을 설치할 때마다 매번 스크립트를 만들어서 사용하다 보니 귀찮아져서…
범용으로 아무 소프트웨어나 설치할 수 있도록 손 좀 봤습니다.

혹시 내용에 문제가 있으면 알려주세요~

[attachment=3:rbu6xax4]pol01.png[/attachment:rbu6xax4]
[attachment=2:rbu6xax4]pol02.png[/attachment:rbu6xax4]
[attachment=1:rbu6xax4]pol03.png[/attachment:rbu6xax4]

[attachment=0:rbu6xax4]setup.pol.7z[/attachment:rbu6xax4]

[code:rbu6xax4]#!/bin/bash

초기화

if [ "$PLAYONLINUX" = "" ]; then
exit 0
fi
source "$PLAYONLINUX/lib/sources"
POL_SetupWindow_Init

안내

POL_SetupWindow_message "PlayOnLinux에 임의의 소프트웨어를 설치하기 위한 범용 스크립트입니다.\n\n윈도우즈 소프트웨어를 Wine에서 사용하는 것은 마이크로소프트가 정식 허가하지 않은 것입니다.\n이 점을 명심하고 사용해 주십시오." "Setup for PoL"
POL_SetupWindow_message "이 스크립트가 수행하는 작업 과정입니다.\n참고해 주세요.\n\n ┏━━━━━━━┓\n 시작 ──→ ┃프로파일 생성┃\n ┗━━━━━━━┛\n ↓\n┏━━━━━━━┓ ┏━━━━━━━┓\n┃ 설치 ┃←┃설치파일 선택┃\n┗━━━━━━━┛ ┗━━━━━━━┛\n ↓ ↑\n┏━━━━━━━┓Y │\n<업데이트 추가?>→────┘\n┗━━━━━━━┛\n ↓N ┌←────←┐\n┏━━━━━━━┓ ┏━━━━━━━┓\n<단축메뉴 추가?>→┃단축메뉴 생성┃\n┗━━━━━━━┛Y┗━━━━━━━┛\n ↓N\n 완료" "Flow chart"

프로파일 생성

POL_PREFIX_NAME="PoL"
POL_SetupWindow_textbox "Wine 프로파일을 생성합니다.\n같은 프로파일을 사용하는 소프트웨어들은 같은 환경에서 실행됩니다.\n\n되도록이면 영문과 숫자만으로 띄어쓰지 말고 입력해 주십시오.\n따로 입력하지 않으면 자동으로 'PoL’로 설정됩니다.\n프로파일은 ‘~/.PlayOnLinux/wineprefix/’ 디렉토리 아래에 생성됩니다.\n\n프로파일 이름을 입력해 주십시오:" "Input prefix name"
if [ "$APP_ANSWER" != "" ]; then
POL_PREFIX_NAME="$APP_ANSWER"
fi
select_prefix "$HOME/.PlayOnLinux/wineprefix/$POL_PREFIX_NAME/"
POL_SetupWindow_prefixcreate
if [ "$?" != "0" ]; then
POL_SetupWindow_message "프로파일이 정상적으로 준비되지 않았습니다.\n자세한 내용은 터미널에서 'playonlinux’를 실행시켜서 출력되는 메세지를 확인해 주십시오.\n\n설치가 취소되었습니다!" "Cancel"
POL_SetupWindow_Close
exit 1
fi

설치

LOOP_EXIT="TRUE"
SETUP_FILE=""
while [ "$LOOP_EXIT" = "TRUE" ]
do
POL_SetupWindow_browse "설치파일을 선택하면 설치를 시작합니다.\n설치 도중 윈도우 대화상자가 나올 수 있습니다.\n적절하게 설치를 진행해 주십시오.\n\n대화상자의 한글이 깨지더라도 너무 염려하시지 마시고,\n불편하시더라도 내용을 예측해서 진행해 주십시오.\n\n설치 완료 후 바로 실행하는 옵션이 있을 수 있습니다.\n설치를 마치고 바로 실행되지 않도록 해주십시오.\n\n설치 파일을 선택해 주십시오:" "Select setup file" "setup.exe"
if [ "$APP_ANSWER" = "" ]; then
POL_SetupWindow_message "설치파일을 선택하지 않으셨습니다.\n\n설치가 취소되었습니다!" "Cancel"
POL_SetupWindow_Close
exit 2
fi
SETUP_FILE=$APP_ANSWER

POL_SetupWindow_wait_next_signal &quot;설치 중입니다&#46;\n마칠 때까지 잠시만 기다려 주십시오&#46;&quot; &quot;Wait for the finish&quot;
wine &quot;$SETUP_FILE&quot;
POL_SetupWindow_detect_exit
if &#91; &quot;$?&quot; != &quot;0&quot; &#93;; then
	POL_SetupWindow_message &quot;설치가 정상적으로 완료되지 않았습니다&#46;\n자세한 내용은 터미널에서 'playonlinux'를 실행시켜서 출력되는 메세지를 확인해 주십시오&#46;\n\n설치가 취소되었습니다!&quot; &quot;Cancel&quot;
	POL_SetupWindow_Close
	exit 3
fi

POL_SetupWindow_question &quot;추가로 설치할 업데이트가 있습니까?&quot; &quot;Adding update&quot;
LOOP_EXIT=$APP_ANSWER

done

단축메뉴 생성

LOOP_EXIT="TRUE"
RUN_DIR=""
RUN_FILE=""
RUN_NAME=""
while [ "$LOOP_EXIT" = "TRUE" ]
do
POL_SetupWindow_question "단축메뉴를 추가하시겠습니까?" "Adding shortcut"
LOOP_EXIT=$APP_ANSWER

if &#91; &quot;$LOOP_EXIT&quot; = &quot;TRUE&quot; &#93;; then
	POL_SetupWindow_textbox &quot;설치된 소프트웨어의 경로를 입력해 주십시오&#46;\nC&#58;를 기준으로 입력하시면 됩니다&#46;\n    예) Program Files/Play/bin\n\n기억이 잘 나지 않으시면 '~/&#46;PlayOnLinux/wineprefix/$POL_PREFIX_NAME/drive_c/' 디렉토리를 참고해 주십시오&#46;\n\n실행 파일의 경로를 입력해 주십시오&#58;&quot; &quot;Input working directory&quot;
	RUN_DIR=$APP_ANSWER
	POL_SetupWindow_textbox &quot;실행 명령을 입력해 주십시오\n    예) run&#46;exe&quot; &quot;Input excutable command&quot;
	RUN_FILE=$APP_ANSWER
	POL_SetupWindow_textbox &quot;단축메뉴 이름를 입력해 주십시오&#46;\n    예) Run app&quot; &quot;Input shortcut name&quot;
	RUN_NAME=$APP_ANSWER
	POL_SetupWindow_question &quot;아래와 같은 설정의 단축메뉴를 추가하시겠습니까?\n\n이름&#58; '$POL_PREFIX_NAME &#58; $RUN_NAME'\n위치&#58; '$RUN_DIR'\n실행&#58; '$RUN_FILE'&quot; &quot;Adding shortcut&quot;
	if &#91; &quot;$APP_ANSWER&quot; = &quot;TRUE&quot; &#93;; then
		POL_SetupWindow_make_shortcut &quot;$POL_PREFIX_NAME&quot; &quot;$RUN_DIR&quot; &quot;$RUN_FILE&quot; &quot;&quot; &quot;$POL_PREFIX_NAME &#58; $RUN_NAME&quot;
	fi
fi

done

완료

POL_SetupWindow_message "설치가 완료되었습니다!" "Setup Complete!"
POL_SetupWindow_Close
exit 0[/code:rbu6xax4]

오오… 좋은 스크립트입니다!+_+ 전 이런거 짤 능력이 안되는지라(…)

대단하세요+_+

전 PlayonLinux는 게임용(최신 버전의 와인으로 실행)으로만 사용하고 응용프로그램은 시스템에 깔려있는 패치된 와인을 사용하는 편이네요^^

스타크래프트 할때 베넷 들어가면 화면이 검게 변하는거 어떻게 해결하는지 아시는분 ㅋ