¿Cómo vincular un atajo de teclado personalizado a un script bash en Ubuntu 13.04?

8

Como usuario de Ubuntu 13.04 también tuve varios problemas e incompatibilidades con esta nueva versión de Ubuntu. Una de ellas es que la barra de brillo desapareció repentinamente de la pestaña 'Configuración del sistema -> Brillo y bloqueo' después de instalar algunos paquetes (que realmente no recuerdo de qué se trataba). Descubrí que una solución es usar xbacklight .

Como ejercicio para mí mismo, escribí un breve script para aumentar y disminuir fácilmente el brillo usando xbacklight desde la terminal. El script es ejecutable (tiene permiso para ejecutarse), es un directorio que está incluido en $ PATH en mi archivo .bashrc y está vinculado a un alias ('blup' para aumentar y 'bldn' para disminuir el brillo de la pantalla). Entonces, mis dos alias (blup / bldn) funcionan perfectamente bien desde una línea de terminal. A continuación, quería vincularlos a algunos atajos de teclado (por ejemplo, F2 / F3). Lo hice en 'Configuración del sistema -> Teclado -> Accesos directos -> Accesos directos personalizados', pero no funcionó.

ingrese la descripción de la imagen aquí

¿Por qué?

Además, ¿hay alguna manera de 'descubrir' dónde y cómo se ejecutan otros comandos de atajo de teclado (no personalizados)? Por ejemplo, el acceso directo de volumen hacia arriba, ¿qué línea de terminal ejecuta, a qué alias está conectado (si lo hay) y en qué directorio se ubican (/ usr / bin, algo más ...)?

Como novato en la escritura de guiones, agradecería cualquier tipo de ayuda.

Gracias

PS1 Por supuesto, simplemente se puede pegar el comando 'xbacklight -inc / -dec 10' en los atajos de teclado personalizados y funcionará bien. Solo quiero aprovechar la oportunidad y conocer un poco más sobre la escritura y ejecución de guiones.

PS2 Mi problema no es el mismo que este: ¿Cómo inicio un script bash usando un atajo de teclado? , es decir, no uso '~ /' para '/ home / user /'.

mario ir
fuente
Esto podría ayudarlo a askubuntu.com/questions/254424/…
Seth
Si cambiaste PATH .bashrc, ese cambio solo estará disponible en sesiones interactivas de bash; no será visible para el proceso que realiza los atajos de teclado. En su ~/.profilelugar, cambie la RUTA , luego
cierre la
Intenté agregar la ruta donde se encuentran mis scripts al .profile, como sugirió, usando: PATH = $ PATH: / home / myusername / scripts o exportar PATH = $ PATH: / home / myusername / scripts pero ninguno de trabajaron (después de iniciar y cerrar sesión). Sin embargo, si agrego la ruta completa de la secuencia de comandos al atajo de teclado (sh /home/username/script/nameofscript.sh) funciona. ¿Qué estoy haciendo mal aquí?
Mario ir

Respuestas:

4

En primer lugar, los alias no se expanden en shells no interactivos. Lea la ALIASESsección de man bashen este sentido. Por lo tanto, no puede usar un alias en el campo 'Comando' cuando agrega / edita un acceso directo personalizado.

En segundo lugar, como geirha dijo en este comentario , si ha cambiado PATHen el .bashrcarchivo, que el cambio no estará disponible en los depósitos no interactivas. Por lo tanto, debe cambiar el archivo PATHin en su ~/.profilelugar.

En tercer lugar, si todavía desea usar solo bldnen el campo 'Comando' cuando agrega / edita un acceso directo personalizado, puede cambiar el nombre de su script con este nombre y agregar la ruta del script al archivo PATHin ~/.profile, como dije anteriormente.

Radu Rădeanu
fuente