Come collegare una scorciatoia da tastiera personalizzata a uno script bash in Ubuntu 13.04?


8

Come utente Ubuntu 13.04 ho avuto anche vari problemi e incompatibilità con questa nuova versione di Ubuntu. Uno di questi è che la barra della luminosità è improvvisamente scomparsa dalla scheda "Impostazioni di sistema -> Luminosità e blocco" dopo aver installato alcuni pacchetti (che non ricordo davvero quale fosse). Ho scoperto che una soluzione alternativa consiste nell'utilizzare xbacklight .

Come esercizio per me stesso, ho scritto una breve sceneggiatura per aumentare e diminuire facilmente la luminosità usando xbacklight dal terminale. Lo script è eseguibile (ha il permesso di eseguire), è una directory che è inclusa in $ PATH nel mio file .bashrc ed è collegata ad un alias ('blup' per aumentare e 'bldn' per ridurre la luminosità dello schermo). Quindi, i miei due alias (blup / bldn) funzionano perfettamente da una linea terminale. Successivamente, ho voluto collegarli ad alcune scorciatoie da tastiera (ad esempio F2 / F3). L'ho fatto in "Impostazioni di sistema -> Tastiera -> Scorciatoie -> Scorciatoie personalizzate", ma non ha funzionato.

inserisci qui la descrizione dell'immagine

Perché?

Inoltre, c'è un modo per "scoprire" dove e come vengono eseguiti altri comandi (non personalizzati) di scelta rapida da tastiera? Ad esempio, il collegamento per aumentare il volume a quale linea terminale esegue, a quale alias è collegato (se presente) e in quale directory sono collocati (/ usr / bin, qualcos'altro ...)?

Come novizio nella sceneggiatura apprezzerei qualsiasi tipo di aiuto!

Grazie

PS1 Naturalmente, semplicemente si può incollare il comando 'xbacklight -inc / -dec 10' nelle scorciatoie da tastiera personalizzate e funzionerà benissimo. Voglio solo cogliere l'occasione e conoscere un po 'di più sulla scrittura e l'esecuzione degli script.

PS2 Il mio problema non è lo stesso di questo: come posso avviare uno script bash usando una scorciatoia da tastiera? , cioè, non uso '~ /' per '/ home / user /'.


Questo potrebbe aiutarti a askubuntu.com/questions/254424/…
Seth

Se hai cambiato PATH in .bashrc, tale modifica sarà disponibile solo nelle sessioni bash interattive; non sarà visibile al processo facendo le scorciatoie da tastiera. Cambia invece il PERCORSO ~/.profile, quindi disconnettiti e
riconnettiti

Ho provato ad aggiungere il percorso in cui si trovano i miei script nel file .profile, come hai suggerito, usando: PATH = $ PATH: / home / myusername / script o export PATH = $ PATH: / home / myusername / script ma nessuno di hanno funzionato (dopo aver effettuato l'accesso e la disconnessione). Tuttavia, se aggiungo il percorso completo dello script alla scorciatoia da tastiera (sh /home/username/script/nameofscript.sh) funziona. Cosa sto facendo di sbagliato qui?
Mario vai il

Risposte:


4

Innanzitutto, gli alias non vengono espansi in shell non interattive. Leggi la ALIASESsezione da man bashin questo senso. Pertanto, non è possibile utilizzare un alias nel campo "Comando" quando si aggiunge / modifica un collegamento personalizzato.

In secondo luogo, come ha detto geirha in questo commento , se si è modificato PATHnel .bashrcfile, tale modifica non sarà disponibile nelle shell non interattive. Quindi, è necessario modificare il PATHin ~/.profilefile invece.

In terzo luogo, se si vuole ancora utilizzare solo bldnnel campo 'Comando' quando si aggiunge / modificare un collegamento personalizzato, è possibile rinominare lo script con questo nome e aggiungere il percorso script al PATHdi ~/.profilelima, come ho detto sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.