回答:
exeプログラムをwineで直接起動するつもりだったと思いますので、win32バイナリをwineで実行するようカーネルに指示してください。
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を実行するwineを開始します。
textaloudして/usr/local/binフォルダを。1行目は#! /bin/bash2行目です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
上記のスクリプトについて注意すべき点が3つあります。
cdパスは、プログラムが(どのディレクトリに)実行されようとしているところです。一部のプログラムでは、特定のディレクトリで実行する必要がある場合があります。これで問題が発生した場合は、そのディレクトリを設定してください(通常、実行可能ファイルがある場所と同じです)。場合によっては、この行を不要にすることがあります。execコマンドは、次の引数を持つワインにモーフにはbashを伝えるので、これはワインを実行しているもはやbashのではありませんが、bashのプロセスは、ワインとなりました。PIDは残ります。2つのプロセスを実行していません。$@もしあれば、あなたはスクリプトを実行した引数で置換されています。したがって、それらはあなたのワインプログラムに渡されます。これで、シェルからプログラムを実行できます...
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セッションの取得に使用しているのではないでしょうか。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。sudorootアカウントを使用してユーザーアカウントで編集しようとしました。どちらもこのエラーを書き込みます。