Testo sublime non visualizzato nel menu "Apri con" di Nautilus


57

Sto eseguendo Ubuntu 15.10.

Il mio /usr/share/applications/sublime_text.desktopcontiene quanto segue:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

Quando faccio clic con il tasto destro del mouse su un file markdown ( xxx.md) in Gnome Files (precedentemente "Nautilus"), non riesco a vedere "Sublime Text" come scelta, anche quando seleziono "Visualizza tutte le applicazioni".

Ho anche provato ad aggiungere %Falle linee Exec=/opt/sublime_text/sublime_text -ne Exec=/opt/sublime_text/sublime_text --command new_filein [Desktop Action Window]e [Desktop Action Document], rispettivamente, ma non ha cambiato nulla.

Ho persino corso sudo update-desktop-database.

Che cosa sto facendo di sbagliato?


Quale versione di Sublime stai utilizzando e come l'hai installata? L'hai aggiunto /usr/share/applications/defaults.liste sostituito tutte le gedit.desktopvoci?
MattDMo

Sto eseguendo Sublime Text v3 (build 3103) per x64 installato da un file .deb. Non l'ho fatto modificare sia defaults.listo gedit.desktop. Cosa dovrebbero contenere questi file?
Ralph,

1
Markdown non ha il tipo MIME text/plain, che è l'unico registrato in questo file desktop.
David Foerster,

Risposte:


124

Copia il contenuto di /usr/share/applications/sublime_text.desktopa~/.local/share/applications/sublime_text.desktop

O semplicemente usa:

cp -it ~/.local/share/applications /usr/share/applications/sublime_text.desktop

Quindi nel tipo di terminale: sudo update-desktop-database


6
Ottima soluzione Sarebbe bello se offrissi anche la spiegazione del perché questo funziona.
padawanTony,

1
@padawanTony Esiste una cache per i tipi di file (tipi MIME) in Ubuntu e ogni tipo MIME ha applicazioni correlate. La copia del file viene copiata sul sublime_text.desktopfile corretto in grado di essere correlato ai file di testo (contiene la riga MimeType=text/plain;che il file predefinito nella cartella locale non contiene). Quindi l'esecuzione del comando sudo aggiornerà la cache MIME (legge nel file .desktop aggiornato) e la relazione apparirà nel menu contestuale. Purtroppo non posso dire perché abbiamo il file .desktop con errori sotto .local in primo luogo.
MF.OX

La semplice eliminazione della voce sublime_text.desktop dalla cartella locale funzionerebbe anche? Il sistema operativo di solito ne farebbe una nuova copia?
minitauro

@agustaf, sto usando Ubuntu 16.04 ma la /.local/cartella non si trova potrebbe aiutarmi, per favore
SagarPPanchal,

@SagarPPanchal Potresti provare a crearlo mkdir -p ~/.local/share/applicationse vedere se la copia del file continua a funzionare. Se il problema persiste, potresti voler pubblicare una nuova domanda.
agustaf,

7

Ho provato tutte le opzioni come indicato in altre risposte. Ma in qualche modo non mi ha aiutato (sto usando Ubuntu 16.04 e ho installato Sublime-text_build-3126_amd64).

Vedo che questo problema si verifica nel mio sistema solo quando installo l'editor Sublime usando il pacchetto (sublime-text_build-3126_amd64.deb) scaricato dal sito. Tuttavia, l' installazione di Sublime dal terminale risolve questo problema.

Devo ancora capire tecnicamente perché c'è una differenza nel comportamento dell'applicazione tra le sue 2 modalità di installazione. Tuttavia, poiché funziona per me, lo sto condividendo qui in modo che possa essere utile per gli altri. L'alternativa di lavoro è:

  1. Disinstallare il pacchetto sublime esistente. Usa Synaptic Pkg Mgr ed esegui una rimozione completa.
  2. Installa sublime usando i comandi:

    Per Sublime-Text-2:

    sudo add-apt-repository ppa:webupd8team/sublime-text-2
    sudo apt-get update
    sudo apt-get install sublime-text
    

    Per Sublime-Text-3:

    sudo add-apt-repository ppa:webupd8team/sublime-text-3
    sudo apt-get update
    sudo apt-get install sublime-text-installer
    

    Immettere il sublcomando per iniziare immediatamente.

  3. Fare clic con il tasto destro del mouse sul file che si desidera aprire nell'editor Sublime. Ora, potresti trovare l'applicazione "Testo sublime" elencata nel menu. Inoltre, è possibile impostare l'editor come predefinito per il tipo di file impostandolo nelle proprietà del file.

Grazie!:)


7

Se una vecchia cache fa qualcosa di sbagliato, semplicemente cancellala e lascia che un sistema ne faccia una nuova per te.

rm ~/.local/share/applications/sublime_text.desktop

Per me funziona.


2

Fallo solo se hai installato un testo sublime usando 'Ubuntu Make' (umake) . Ubuntu Make (umake) semplifica l'installazione e l'aggiornamento degli strumenti di sviluppo. Digita questo nel terminale.

cat ~/.local/share/applications/sublime-text.desktop

Verranno visualizzati i contenuti del file sublime-text.desktop. Nota la seguente riga nel file:

Exec=/home/ja9/.local/share/umake/ide/sublime-text/sublime_text

Devi cambiare quella linea. Genere:

sudo nano ~/.local/share/applications/sublime-text.desktop

Viene aperto l'editor nano di testo, modificare quella riga in

Exec="/home/ja9/.local/share/umake/ide/sublime-text/sublime_text" %F

Assicurati di aver digitato la maiuscola F , non piccola. Premi "Ctrl + O". Premere Invio'. Premi "Ctrl + X". Genere:

sudo update-desktop-database

Problema risolto :), in caso contrario, riavviare il sistema. Nota: nano è molto buono per l'editing, provalo (prova)


0

Apri /usr/share/applications/defaults.list(un link simbolico /etc/gnome/defaults.listsul mio sistema) in Sublime e sostituisci tutte le istanze di gedit.desktopcon sublime_text.desktop. Salvare il file e riavviare il computer: potrebbe essere sufficiente disconnettersi e riconnettersi, ma sospetto che dovrai uscire completamente da Gnome per ricaricare le impostazioni. Dopo aver effettuato nuovamente l'accesso, Sublime Text dovrebbe essere elencato nel menu di scelta rapida come scelta predefinita per i file Markdown e dovrebbe trovarsi nel menu "Apri con" e per tutti i tipi di file che possono essere aperti in un editor di testo.

MODIFICARE:

Ecco i contenuti della mia attuale /usr/share/applications/sublime_text.desktop:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

Ancora nessuna gioia. Ci deve essere qualcosa di divertente nella mia installazione di Sublime Text. Ho confrontato il .desktopfile con quello Atome non ci sono differenze sostanziali, ma Atomappare open withnell'elenco.
Ralph,

@Ralph molto strano. Ho appena modificato la mia risposta con i contenuti attuali della mia sublime_text.desktope sembra esattamente la stessa di quella nella tua domanda. Il mio prossimo suggerimento sarebbe di disinstallare completamente Sublime (puoi lasciarlo ~/.config/sublime-text-3) e reinstallarlo di nuovo. Ricontrolla di /usr/share/applications/defaults.listnuovo per assicurarti che tutte le voci gedit(e forse atomanche?) Siano state sostituite sublime_text, quindi riavvia e riprova.
MattDMo,
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.