답변:
와인으로 exe 프로그램을 직접 시작하려고 했으므로 커널에 와인으로 win32 바이너리를 실행하도록 지시하십시오.
binfmt fs를 마운트 none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
하고 / etc / fstab에 라인 을 추가 한 mount -a
후 실행
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
이진 형식을 등록
나중에 exe 파일을 /path/to/XX.exe
또한 보안 문제가 발생합니다.
root
계정 으로해야 합니다. 나는 추가 /path/to/
내에 $PATH
변수 내가 실행할 수있는 XX.exe
명령 줄에서 여전히에서 실행할 수 없습니다 dmenu
. xmobar
질문에서 실수로 미안합니다 .
확인 wine
입니다 경로에 다음을 포함하는 쉘 스크립트를 작성 :
#!/bin/sh
wine "$HOME/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe"
다음을 실행하여 스크립트를 실행할 수있는 권한을 부여하십시오 chmod u+x SCRIPT_NAME
.
그런 다음 파일 관리자에서 해당 스크립트를 실행하십시오. 와인을 시작하고 TextAloudMP3.exe를 실행합니다.
textaloud
에 /usr/local/bin
폴더를. 첫 번째 줄은 #! /bin/bash
두 번째 줄입니다 wine ...
. textaloud는 xmobar
실행기에 나타나지 않습니다 . 실행하는 경우 sh textaloud
는 기록$ sh textaloud wine: cannot find '~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe'
sh textaloud
이미 작동하지만 디렉토리에서만 작동 /usr/local/bin
하며 xmobar 실행기에 여전히 표시되지 않습니다.
$@
프로그램 이름 뒤에 추가 하여 모든 인수를 전달할 수 있습니다. 그리고 나는 보통 그러한 스크립트를 ~ / bin에 넣습니다 (물론 PATH에 있는지 확인한 후).
~/.bash_aliases
없습니까?
사용자의 바이너리 PATH를 설정하십시오. mkdir ~/bin
이 디렉토리를 실행 하고 PATH에 추가 하십시오 .
이 작업을 수행하는 방법은 사용하는 셸 및 데스크탑 환경에 따라 달라질 수 있습니다.
여기서 다양한 쉘에서 PATH를 변경하는 방법을 찾을 수 있습니다 .
데스크탑 환경이 쉘 프로파일에 관심이없고 전자가 터미널 환경에서는 작동하지만 데스크탑 환경에서는 작동하지 않는 경우이 해결 된 질문을 확인하십시오 .
쉘과 데스크탑 환경이 새로운 PATH를 준수하도록 설정하면, 스크립트를 드롭하고 경로를 입력하지 않고 일반 명령으로 실행할 수 있습니다.
이 디렉토리에서 와인 프로그램을 실행할 짧은 쉘 스크립트를 작성하십시오 ~/bin/textaloud
.
#!/bin/bash
cd "~/.wine/drive_c"
exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
그리고 실행 권한을 부여하십시오.
chmod +x ~/bin/textaloud
위 스크립트에 대해 세 가지주의 할 사항이 있습니다.
cd
경로는 프로그램이 (이 디렉토리에서) 실행되는 것입니다 곳입니다. 일부 프로그램은 특정 디렉토리에서 실행해야 할 수도 있습니다. 이 문제가 발생하면 해당 디렉토리를 설정하십시오 (일반적으로 실행 파일이있는 위치와 동일). 경우에 따라이 줄을 원하지 않을 수도 있습니다.exec
명령은 bash에게 다음과 같은 인수를 사용하여 와인으로 변형하도록 지시하므로 더 이상 bash를 실행하는 와인이 아니라 bash 프로세스가 와인이됩니다. PID는 그대로 남아 있습니다. 두 개의 프로세스가 실행되고 있지 않습니다.$@
스크립트를 실행 한 인수 (있는 경우)로 대체됩니다. 이것들은 와인 프로그램으로 전달됩니다.이제 다음과 같이 쉘에서 프로그램을 실행할 수 있습니다.
textaloud
응용 프로그램 실행기를 만듭니다. 오늘날 이러한 파일은 파일로 표준화되어 .desktop
있으며 많은 데스크탑 환경에서 그래픽 도구를 제공합니다.
다음은 직접 작성하는 데 사용할 수있는 예제 골격입니다. 아이콘 (종종 PNG, SVG 또는 XPM)을 제공 할 수 있습니다.
[Desktop Entry]
Type=Application
Name=TextAloud
Exec=textaloud
Icon=textaloud.png
이 파일을에 배치하십시오 ~/.local/share/applications/TextAloud.desktop
. 아이콘은 (다른 곳에서) 검색 ~/.local/share/icons
되므로 응용 프로그램에 대한 귀여운 아이콘을 찾아서 이름을 붙여 넣으십시오 textaloud.png
.
이 작업을 완료하면 데스크탑 환경에서 바로 가기 파일을 찾고 스크립트를 사용하여 프로그램을 실행할 수 있어야합니다. 그렇지 않은 경우 다시로드하거나 다시 시작하십시오.
textaloud
에서 볼 수 없습니다 dmenu
.
~/.xsession
X11 sesion을 사용 하기 위해 사용 하고 있습니까? export PATH="$HOME/bin:$PATH"
dwm을 실행하고 X11을 재시작하기 위해 사용하는 행 앞에 추가하십시오 .
~/.xsession
? 터미널의 PATH는 X11 세션의 PATH와 같지 않을 수 있습니다.
$@
안전을 위해 큰 따옴표로 묶어야합니다. 그래서 될 것 exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
입니다.
/proc/sys/fs/binfmt_misc/register
. 씁니다/proc/sys/fs/binfmt_misc/register E667: Fsync failed
. 나는sudo
루트 계정과 사용자 계정으로 편집하려고했습니다 . 둘 다이 오류를 씁니다.