Hace poco hice esta pregunta sobre cómo agregar un script de shell a Dash:
En 14.04, ¿cómo ejecuto un script bash que escribí sin abrir una terminal?
Funcionó perfectamente.
Pregunta de seguimiento: ¿Cómo puedo pasar argumentos de línea de comandos a través de Dash? Ejemplo: en este caso, mi comando de guión se llama "Panel". El guión recubre mi pantalla con 8 terminales. Aquí hay un ejemplo del uso:
panel # Tile the screen with 8 terminal windows.
panel --left # Tile the left side with 4 terminals
panel --right # Tile the right side with 4 terminals
Y así. ¿Cómo puedo pasar argumentos como --left
o a --right
través de Dash? Idealmente, me gustaría tener este flujo de trabajo:
- Presione la tecla SUPER
- Tipo
panel --left
(por ejemplo) - Dash desaparece y el lado izquierdo está panelado.
En este momento ejecuta el script correcto, pero lo ignora --left
.
¿Consejos?
scripts
unity-dash
Sir Robert
fuente
fuente
Respuestas:
El problema es que no puede "ejecutar" un
.desktop
archivo desde Dash con argumentos, por lo que me temo que la configuración exactamente como la tiene en mente es imposible. Sin embargo, asumiendo que su escritura hace argumentos para llevar, hay algunas opciones alternativas elegantes, tal vez incluso mejor:Guarda tu guión en
~/bin
ejecútelo presionando AltF2, escriba el comando
Cree una lista rápida en el iniciador de Unity:
(suponiendo que guardó el script
~/bin
, lo hizo ejecutable y eliminó la extensión como en 1.)Guárdelo como
panel.desktop
en~/.local/share/applications
y arrástrelo al iniciador.Cree tres métodos abreviados de teclado diferentes, por ejemplo Alt+ <, Alt+ ^, Alt+ >para ejecutar sus argumentos de script +:
"Configuración del sistema"> "Teclado"> "Atajos"> "Atajos personalizados"
Haga clic en "+" para agregar sus comandos:
<scriptname> <argument>
No es el más obvio, pero debe mencionarse la exploración de las opciones: puede llamar a una lista de opciones (zenity) desde Dash:
Escriba el primer carácter de su opción, presione Intro y su secuencia de comandos se ejecutará con el argumento elegido.
Una vez más, suponiendo que guardó el script en ~ / bin, lo hizo ejecutable y eliminó la extensión de idioma como en 1 .:
Copie el script a continuación en un archivo vacío, guárdelo como
panel_options.sh
, hágalo ejecutable.Cree el archivo .desktop a partir del siguiente código. En la
Icon=
línea, establezca la ruta a su icono, en laExec=
línea a la rutapane_options.sh
, guárdela comopanel.desktop
en~/.local/share/applicatios
fuente
Según su pregunta original, parece que lo correcto sería mover el script a
~/bin/
, que debería estar en su$PATH
valor predeterminado.Si hace esto, podrá ejecutar su script AltF2nuevamente. También podrá pasarle argumentos como lo hace en un shell.
También puede agregar cualquier otra carpeta donde guarde sus scripts en su archivo
$PATH
. Para hacer esto, abra~/.profile
en el editor de texto de su elección:Al final, agregue una línea (reemplazando
<folder>
con su carpeta) y guarde el archivo:Por ejemplo, agrego
$HOME/.bin
a mi$PATH
para que mis archivos binarios no abarroten mi carpeta de inicio, pero puede agregar cualquier directorio a su ruta, solo asegúrese de no agregar nada peligroso (por ejemplo, world-writeable).Los cambios tendrán efecto en el próximo inicio de sesión.
fuente