Yanıtlar:
Sanırım doğrudan şarapla exe programları başlatmak istedin, bu yüzden çekirdeğe şarapla win32 ikili dosyaları çalıştırmasını söyle,
Binfmt fs'yi bağlayın, none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
/ etc / fstab öğesine bir satır ekleyin ve mount -a
daha sonra çalıştırın
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
ikili biçimi kaydetmek için
Daha sonra exe dosyasını /path/to/XX.exe
Bunun bir güvenlik sorunu da getirdiğini unutmayın.
root
hesaba katmak zorundayım . Eklediğim /path/to/
benim için $PATH
değişken ve ben çalıştırabilirsiniz XX.exe
komut satırından ama hala onu çalıştırılamaz dmenu
. Üzgünüm xmobar
soruda yanıldım .
Emin olun wine
olduğu yolunda bir ve aşağıdakileri içeren bir kabuk komut dosyası oluşturun:
#!/bin/sh
wine "$HOME/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe"
Komut dosyasını çalıştırarak yürütmek için kendinize izin verin chmod u+x SCRIPT_NAME
.
Ardından, bu komut dosyasını dosya yöneticinizden çalıştırın. TextAloudMP3.exe'yi çalıştıracak şarabı başlatacaktır.
textaloud
içinde /usr/local/bin
klasörün. Birinci satır #! /bin/bash
ikinci satır wine ...
. textaloud xmobar
başlatıcıda görünmez . Çalıştırırken sh textaloud
o yazar$ sh textaloud wine: cannot find '~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe'
~
çift tırnak içine alındığında kullanıcının ana dizinine genişlemez. Bunun $HOME
yerine cevabımı çevresel değişkeni kullanacak şekilde değiştirdim .
sh textaloud
zaten çalışıyor, ancak sadece /usr/local/bin
dizinden ve xmobar başlatıcısında hala görünmüyor.
$@
tüm bağımsız değişkenleri geçmesi için program adından sonra eklemek isteyebilir . Ve genellikle bu tür komut dosyalarını ~ / bin içine koyarım (elbette PATH'ınızda olduğundan emin olduktan sonra).
~/.bash_aliases
mı?
Kullanıcınız için bir ikili PATH ayarlayın. mkdir ~/bin
Bu dizini çalıştırın ve PATH'nize ekleyin.
Bunun nasıl kullanıldığı, kullandığınız kabuğa ve masaüstü ortamına bağlı olarak değişebilir.
Burada PATH'inizi çeşitli kabuklarda nasıl değiştireceğinizi bulabilirsiniz .
Kabuğunuzu ve masaüstü ortamınızı yeni bir PATH'ye uyacak şekilde ayarladıktan sonra, komut dosyalarını buraya bırakıp yollarını yazmadan normal komutlar olarak çalıştırabilirsiniz.
Şarap programınızı bu dizinde çalıştırmak için kısa bir kabuk komut dosyası oluşturun, yani ~/bin/textaloud
:
#!/bin/bash
cd "~/.wine/drive_c"
exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
Ve yürütmesine izin ver.
chmod +x ~/bin/textaloud
Yukarıdaki senaryo hakkında dikkat edilmesi gereken üç şey vardır:
cd
Yol programı (hangi dizinde) çalıştırılmak üzere nereye gittiğini olduğunu. Bazı programlar, bunları belirli bir dizinde çalıştırmanızı gerektirebilir. Bu konuda sorun yaşıyorsanız, bu dizini (genellikle yürütülebilir dosyanın bulunduğu konumla) ayarlayın. Bazı durumlarda bu çizgiyi kullanmak istemeyebilirsiniz.exec
Bu şarabı artık çalışmadığı Bash, ancak bash süreç şarap haline böylece komutlar aşağıdaki argümanlarla şaraba morph için bash söyle. PID kalır. Çalışan iki işleminiz yok.$@
, varsa betiği çalıştırdığınız bağımsız değişkenlerle değiştirilir. Yani bunlar şarap programınıza geçiyor.Şimdi programınızı kabuk gibi çalıştırabilirsiniz ...
textaloud
Bir uygulama başlatıcısı oluşturun. Günümüzde bu dosyalar dosyalar olarak standartlaştırılmıştır .desktop
ve birçok masaüstü ortamı bunları oluşturmak için grafik araçları sağlar.
İşte kendiniz yazmak için kullanabileceğiniz örnek bir iskelet. Bir simge sağlamak isteyebilirsiniz (genellikle PNG, SVG veya XPM'de).
[Desktop Entry]
Type=Application
Name=TextAloud
Exec=textaloud
Icon=textaloud.png
Bu dosyayı içine yerleştirin ~/.local/share/applications/TextAloud.desktop
. Simgeler (diğer yerlerin yanı sıra) içinde aranır ~/.local/share/icons
, bu nedenle uygulamanız için sevimli bir simge bulduğunuzdan emin olun ve adıyla oraya yerleştirin textaloud.png
.
Bunu yaptıktan sonra, masaüstü ortamınız kısayol dosyanızı bulmalı ve programı komut dosyasıyla çalıştırabilmelidir. Değilse, yeniden yükleyin veya yeniden başlatın.
textaloud
içinde dmenu
fırlatıcı.
~/.xsession
X11 sesion'unuzu almak için kullanıyorsunuzdur ? export PATH="$HOME/bin:$PATH"
DWM'yi çalıştırmak ve X11'i yeniden başlatmak için kullandığınız satırdan önce oraya eklemeyi deneyin .
~/.xsession
? Terminalinizin PATH değerinin X11 oturumunuzun PATH değerine eşit olmayabileceğini unutmayın.
$@
güvenlik için çift tırnak içinde olmalıdır. böylece olur exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
.
/proc/sys/fs/binfmt_misc/register
. Yazıyor/proc/sys/fs/binfmt_misc/register E667: Fsync failed
. Kullanıcısudo
hesabı altında ve root hesabı altında da düzenlemeye çalıştım . Her ikisi de bu hatayı yazar.