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 --lefto a --righttravé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
.desktoparchivo 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
~/binejecú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.desktopen~/.local/share/applicationsy 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.desktopen~/.local/share/applicatiosfuente
Según su pregunta original, parece que lo correcto sería mover el script a
~/bin/, que debería estar en su$PATHvalor 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~/.profileen 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/.bina mi$PATHpara 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