Domanda

questo non può essere solo di programmazione, ma se non trovo soluzione pronta all'uso, può diventare un compito di programmazione: In UNIX, che è un metodo della riga di comando per la determinazione della preferito dall'utente domanda di un determinato tipo di file?

La mia soluzione ideale qui sarebbe un comando che smesso di me dover effettuare le seguenti operazioni:

okular foo.pdf

E mi ha permesso di fare qualcosa di simile, lavorare con il mio set preferito applicazioni:

launch foo.pdf

Non ho trovato nessuna risposta cercando, e un approccio fai da te non avrebbe funzionato come, mentre ho usato Linux per un po ', non ho idea di interni che gestiscono le mie applicazioni preferite.

È stato utile?

Soluzione

Su Unix per se , che sarebbe quello che l'utente utilizzato per aprire, perché non esiste un livello di OS nozione di un applicazione preferita.

Tuttavia il principale ambiente X desktop all definire tale nozione, e quindi è necessario utilizzare le loro strutture:

  • gnome-open in GNOME (duh)
  • exo-open in XFCE [vedere i commenti nel link gnome]
  • xdg-open può funzionare in molti ambienti (lavora reputato in KDE) [vedere i commenti nel link gnome]
  • solo kfmclient exec pianura (o kfmclient4 exec) in KDE (non sono stato in grado di trovare un riferimento a kde-open come Rob H suggerisce , e non hanno un sistema di KDE a portata di mano per provarlo)

Ora Mac OS X fornisce il comando open che funziona come clic sul file nel Finder (vale a dire, si chiede al sistema operativo ...)


correzioni Diversi grazie a ephemient nei commenti. Non voglio discutere mailcap, perché non ho mai capito e avevo dimenticato che esistesse ...

Altri suggerimenti

La risposta varia a seconda dell'ambiente desktop vostro usando. Dal momento che lei ha citato Okular, ho intenzione di assumere che si sta utilizzando KDE. In modo da provare:

kde-open <file>

Per GNOME, v'è l'equivalente:

gnome-open <file>

Per rispondere a questo me stesso, ho definito una semplice funzione (bash) che funziona nel modo mi aspetto:

function show { 
    xdg-open $1 &> NUL
    }

xdg-open era quasi esattamente quello che volevo, ma lascia brutti avvertimenti programma scivolare attraverso nella shell, che quanto sopra sembra risolvere.

Grazie a tutti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top