Apertura di un file dal terminale


30

Quando vogliamo aprire un'applicazione o un file dal terminale, digitiamo, diciamo,

okular file.dvi

Questo apre l'applicazione, ma mostra anche lo stato dell'applicazione. Non possiamo chiudere il terminale, perché uccide il processo. Sfortunatamente, se stai provando, ad esempio, a creare un file LaTeX, avrai bisogno di una scheda per l'editor di testo, una per il file dvi e così via. E se stai provando ad aprire tutte le finestre dal terminale, puoi dimenticarlo. Sto provando a usare il terminale il più possibile, e mentre ho Yakuake, è ancora un problema avere così tante schede e vedere quale di queste ha un'applicazione che ho ucciso e così via.

Quindi, c'è un modo per aprire un'applicazione / file dal terminale in modo che lo stato non mostri e dia immediatamente il prompt in modo che possiamo usarlo per aprire più applicazioni?


Date le tue richieste, riguardo a non vedere alcun output, lo spettatore non è un processo figlio del terminale, ecc., Sembra un candidato ideale quando si utilizza semplicemente una scorciatoia da tastiera per aprire il visualizzatore o si usa ad esempio grun per passare anche il nome del file , sarebbe più adatto che attenersi all'utilizzo di un terminale.
Jmetz,

Non mi dispiace non vedere alcun output ... Mi dispiace dover avere più terminali / schede aperti per più applicazioni. La risposta che ho scelto si adatta perfettamente a tutte le mie preferenze.
particolare il

Risposte:


51
xdg-open file.dvi

xdg-openaprirà qualsiasi file con la sua applicazione predefinita. Come bonus, puoi chiudere il terminale senza uccidere l'applicazione.

Dal momento che xdg-openè un nome piuttosto lungo, ho messo un alias per questo in .bashrc:

alias open='xdg-open'

Dolce! Questo è il migliore, persino migliore di quello che avevo selezionato! E ottieni un badge 'Revival' :)
particolare la

Semplice fantastico!
Yugal Jindle il

Voglio solo sottolineare che poiché in realtà questo non esegue il programma, significa che puoi aprire il file senza creare una nuova istanza di quel programma. Ciò significa che puoi aprire un file e questo verrà automaticamente aperto nell'istanza già aperta dell'app.
Arc676,

se di recente passi da Mac a Linux, probabilmente sarà una buona idea farlo alias open="xdg-open"
Pedro Luz,

16
okular file.dvi &

basta aggiungere an &per rendere il comando in esecuzione come processo separato.


Wow! Perfezionare! Divertente ... Ho cercato su Google "apri dal terminale senza mostrare lo stato", non ho mai pensato che si comportasse come un processo separato! Sfortunatamente, dice che devo aspettare 8 minuti, quindi ...
particolare,

14

okular file.dvi &> /dev/null &sarebbe un po 'meglio. In questo modo, il programma non scrive sul terminale.

Se usi solo okular file.dvi &il programma riporterai comunque cose sul terminale, spesso nel bel mezzo del tuo lavoro


6

Con, diciamo, la evince file.pdf &chiusura del terminale chiuderà comunque il processo, in modo che sia ancora un processo figlio del terminale e non ne abbia l'indipendenza; nohup evince file.pdf &ti permetterà di chiudere il terminale senza chiudere il programma poiché nohup significa che qualsiasi segnale per la chiusura del processo (blocco) verrà ignorato. Puoi anche rinnegare un processo in modo simile, vedi questa discussione qui .


Grazie, non lo sapevo. Uso Yakuake e non lo chiudo mai, quindi non è un problema. Ma è sempre utile sapere queste cose.
particolare

Ho appena modificato il mio post, vedi la differenza, funzionerà ora

Scusa, avevo dimenticato di mettere il & alla fine :)
particolare, il

1
Quando provo evince file.pdf &, non termina il processo quando
esco

1
Quando si avvia un processo figlio, appartiene al processo principale. In questo caso, evince è il processo figlio appartenente al terminale. Quindi, quando si chiude il terminale, chiude anche i processi figlio. nohup separa questa proprietà, quindi è cosa usare se si desidera chiudere il terminale. Tuttavia, per impostazione predefinita, nohup crea un file nohup.out nella cartella principale. Se non si desidera quel file, utilizzare il reindirizzamento come segue:nohup evince file.pdf &>/dev/null &
Paddy Landau
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.