Cuando quiero ejecutar un programa de vinos tengo que escribir, por ejemplo
$ wine ~/.wine/drive_c/Program\ Files/TextAloud/TextAloudMP3.exe
¿Sería posible correr directamente TextAloudMP3
? Me refiero no solo a la línea de comando (podría crear un alias) sino a todo el entorno gráfico. Estoy iniciando programas con dmenu
.
fuente
/proc/sys/fs/binfmt_misc/register
. Se escribe/proc/sys/fs/binfmt_misc/register E667: Fsync failed
. Traté de editar con la cuenta de usuario consudo
y también con la cuenta raíz. Ambos escriben este error.root
cuenta. Agregué/path/to/
a mi$PATH
variable y puedo ejecutarXX.exe
desde la línea de comandos pero aún no puedo ejecutarladmenu
. Lo siento, lo he confundido conxmobar
la pregunta.Asegúrese de que
wine
esté en su camino y cree un script de shell que contenga lo siguiente:Date permiso para ejecutar el script ejecutando
chmod u+x SCRIPT_NAME
.Luego, simplemente ejecute ese script desde su administrador de archivos. Se iniciará wine, que ejecutará TextAloudMP3.exe.
fuente
textaloud
en la/usr/local/bin
carpeta. La primera línea es la#! /bin/bash
segunda línea eswine ...
. textaloud no aparecerá en el iniciadorxmobar
. Cuando se ejecutash textaloud
, escribe$ sh textaloud wine: cannot find '~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe'
~
no se expande al directorio de inicio de un usuario cuando está entre comillas dobles. He modificado mi respuesta para usar la variable ambiental en su$HOME
lugar.sh textaloud
ya funciona, pero solo desde el directorio/usr/local/bin
y aún no está visible en xmobar launcher.$@
después del nombre del programa para que pase todos los argumentos. Y generalmente pongo tales scripts en ~ / bin (después de asegurarme de que está en su RUTA, por supuesto).~/.bash_aliases
?Paso 0
Establezca una RUTA binaria para su usuario. Ejecute
mkdir ~/bin
y agregue este directorio a su RUTA.La forma en que se hace esto puede variar según el entorno de shell y escritorio que utilice.
Aquí puede encontrar cómo cambiar su RUTA en una variedad de conchas .
Compruebe esta pregunta resuelta si su entorno de escritorio no se preocupa por su perfil de shell y el primero funciona desde la terminal pero no desde el entorno de escritorio .
Paso 1
Una vez que haya configurado su shell y su entorno de escritorio para respetar una nueva RUTA, puede soltar los scripts allí y ejecutarlos como comandos regulares sin escribir su ruta.
Cree un script de shell corto para ejecutar su programa de vinos en este directorio, es decir
~/bin/textaloud
:Y dale permiso de ejecución.
Hay tres cosas a tener en cuenta sobre el script anterior:
cd
ruta es donde se ejecutará el programa (en qué directorio). Algunos programas pueden requerir que los ejecute en un directorio específico. Si tiene problemas con esto, configure allí ese directorio (generalmente el mismo donde se encuentra el ejecutable). Puede que no desee esta línea en algunos casos.exec
comandos le dicen a bash que se convierta en vino con los siguientes argumentos, por lo que ya no es bash ejecutar vino, sino que el proceso de bash se convierte en vino. El PID permanece. No tienes dos procesos en ejecución.$@
sustituye por los argumentos con los que ejecutó el script, si corresponde. Entonces esos se pasan a su programa de vinos.Ahora puede ejecutar su programa desde el shell como ...
Paso 2
Crea un lanzador de aplicaciones. Hoy en día, estos archivos están estandarizados como
.desktop
archivos y muchos entornos de escritorio proporcionan herramientas gráficas para crearlos.Aquí hay un ejemplo de esqueleto que puedes usar para escribirlo tú mismo. Es posible que desee proporcionar un icono (a menudo en PNG, SVG o XPM).
Coloque este archivo en
~/.local/share/applications/TextAloud.desktop
. Se buscan íconos (entre otros lugares)~/.local/share/icons
, así que asegúrese de encontrar un ícono lindo para su aplicación y colóquelo allí con el nombretextaloud.png
.Una vez que haya hecho esto, su entorno de escritorio debe encontrar su archivo de acceso directo y poder ejecutar el programa con el script. Si no, vuelva a cargarlo o reinícielo.
fuente
textaloud
en eldmenu
lanzador.~/.xsession
para obtener su sesión X11? Intente agregar allíexport PATH="$HOME/bin:$PATH"
antes de la línea que usa para ejecutar dwm y reiniciar X11.~/.xsession
? Tenga en cuenta que la RUTA de su terminal puede no ser igual a la RUTA de su sesión X11.$@
debe estar entre comillas dobles por seguridad. entonces se convertiríaexec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"
.¿Has considerado probar PlayOnLinux? Puede encargarse de todo e incluso puede configurar algunos tipos de archivos para que los programas de vino los abran.
fuente