2014-08-28 13 views
6

Qui potrei fare il pelo nell'uovo ma è davvero fastidioso quando il terminale non apre un'applicazione come Chrome, Sublime Text con attenzione su di esso se li apro dal terminale. Ho fare qualcosa di simile: -Come rendere terminale l'applicazione GUI aperta concentrandosi su di esso?

[email protected] ~ $ subl . 

E poi devo premere Alt + tab per la ricerca che l'applicazione, se ho più applicazione in esecuzione. Sconfigge l'intero scopo di provare ad arrivare alla mia applicazione più velocemente dal terminale.

Se c'è una ragione per questo tipo di comportamento posso sapere perché è così e anche possibile soluzione per questo?

+2

È possibile includere il gestore di finestre. Alcuni supportano direttamente l'autofocus su open, mentre altri potrebbero richiedere strumenti aggiuntivi come [wmctrl] (http://linux.die.net/man/1/wmctrl) o [xdotool] (http: //manpages.ubuntu. com/manpages/lucido/man1/xdotool.1.html). –

+0

Sto usando il window manager predefinito che arriva in Ubuntu 14.04, GNOME con Unity. – shriek

+2

Questa domanda è probabilmente più opportunamente chiesta alla comunità [askubuntu.com] (http://askubuntu.com/). Una ricerca rapida laggiù indica che potrebbe trattarsi di un duplicato. –

risposta

3

Sto usando wmctrl per questo. (È possibile installarlo con sudo apt-get install wmctrl)

Aggiungere la seguente riga nel vostro .bashrc per aprire e mettere a fuoco Sublime Text:

alias subl="subl && wmctrl -a \"\$(wmctrl -l | grep subl | cut -f 1,2,3,4 -d ' ' --complement)\" 2>&1 >/dev/null" 

wmctrl -l analizza le finestre ed elenca le applicazioni che è possibile passare.
wmctrl -a WINDOW_TITLE focus su l'applicazione con la specifica WINDOW_TITLE.
Per ottenere il titolo della finestra che Grep e formattarla con grep APP_NAME e cut.

È possibile utilizzare questo alias per ogni altra applicazione da solo cambiando il nome-alias, il comando per avviare l'applicazione e con l'argomento grep sta cercando. Ad esempio:

alias chrome="google-chrome && wmctrl -a \"\$(wmctrl -l | grep Chrome | cut -f 1,2,3,4 -d ' ' --complement)\" 2>&1 >/dev/null" 
+2

Wow, è doloroso e manuale. Vedo che nemmeno Unity launcher cambia l'applicazione. Ma dal momento che hai fornito una soluzione al problema, contrassegnerò questo come accennato. – shriek

-3

unica soluzione che viene in mente si apre con il prefisso gksudo. Può essere fastidioso digitare password, ma lo sto ancora utilizzando per aprire qualsiasi applicazione con interfaccia grafica dal terminale.

+1

State seriamente caldeggiando l'apertura di applicazioni GUI in modalità privilegiata semplicemente perché ricevano attenzione all'avvio? Funziona anche? – tripleee

Problemi correlati