Текст піднесеного не відображається в меню "відкрити" Наутілуса


57

Я запускаю Ubuntu 15.10.

Моє /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;

Коли я клацаю правою кнопкою миші на файл розмітки ( xxx.md) у файлах Gnome (раніше "Nautilus"), я не бачу "Піднесений текст" як вибір, навіть коли я вибираю "Переглянути всі програми".

Я навіть намагався додавати %Fдо рядків Exec=/opt/sublime_text/sublime_text -nі Exec=/opt/sublime_text/sublime_text --command new_fileв, [Desktop Action Window]і [Desktop Action Document]відповідно, але це нічого не змінило.

Я навіть бігав sudo update-desktop-database.

Що я роблю неправильно?


Яку версію Sublime ви запускаєте та як її встановили? Ви додали його /usr/share/applications/defaults.listта замінили всі gedit.desktopзаписи?
MattDMo

Я запускаю Sublime Text v3 (build 3103) для встановленого x64 форми .deb-файлу. Я не редагував ні, defaults.listні gedit.desktop. Що повинні містити ці файли?
Ральф

1
У Markdown відсутній тип MIME text/plain, який є єдиним зареєстрованим у цьому файлі робочого столу.
Девід Фоерстер

Відповіді:


124

Скопіюйте вміст /usr/share/applications/sublime_text.desktopдо~/.local/share/applications/sublime_text.desktop

Або просто використовувати:

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

Потім у термінальному типі: sudo update-desktop-database


6
Прекрасне рішення. Було б добре, якби ви також запропонували пояснення, чому це працює.
padawanТоні

1
@padawanTony У Ubuntu існує кеш типів файлів (типів MIME), і кожен тип MIME має відповідні програми. Копіювання файлів копії над правильним sublime_text.desktopфайлом, який може стосуватися текстових файлів (містить рядок, MimeType=text/plain;який за замовчуванням у локальній папці не містить). Тоді виконання команди sudo буде оновити кеш MIME (читається в оновленому файлі .desktop) і відношення з'явиться в контекстному меню. Я, на жаль, не можу сказати, чому у нас в першу чергу баггічний файл .desktop під .local.
MF.OX

Чи просто буде видалено запис sublime_text.desktop з локальної папки, а потім також буде працювати? Буде ОС зазвичай робити нову копію?
minitauros

@agustaf, я використовую ubuntu 16.04, але /.local/папка не знаходиться, ви можете допомогти
SagarPPanchal

@SagarPPanchal Ви можете спробувати створити його mkdir -p ~/.local/share/applicationsі побачити, чи працює копіювання файлу. Якщо це не спрацює, можливо, ви захочете поставити нове запитання.
agustaf

7

Я спробував усі варіанти, як зазначено в інших відповідях. Але якимось чином мені це не допомогло (я використовую Ubuntu 16.04 і встановив Sublime-text_build-3126_amd64).

Я бачу, що ця проблема виникає в моїй системі лише тоді, коли я встановлюю редактор Sublime за допомогою пакету (sublime-text_build-3126_amd64.deb), завантаженого з сайту. Однак установка Sublime з терміналу вирішує цю проблему.

Я поки технічно не з’ясував, чому існує різниця в поведінці програми між його 2 режимами установки. Однак, як це працює для мене, я ділюсь цим тут, щоб він був корисним для інших. Робоча альтернатива:

  1. Видаліть існуючий піднесений пакет. Використовуйте Synaptic Pkg Mgr і виконайте повне видалення.
  2. Встановіть піднесене за допомогою команд:

    Для Sublime-Text-2:

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

    Для Sublime-Text-3:

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

    Введіть sublкоманду, щоб почати миттєво.

  3. Клацніть правою кнопкою миші файл, який ви бажаєте відкрити в редакторі Sublime. Тепер у меню ви зможете знайти додаток "Піднесений текст". Крім того, ви можете встановити редактор за замовчуванням для типу файлу, встановивши його у властивостях файлу.

Дякую!:)


7

Якщо старий кеш робить щось не так, просто видаліть його та дозвольте системі зробити нове для вас.

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

Це працює для мене.


2

Зробіть це лише в тому випадку, якщо ви встановили піднесений текст за допомогою "Ubuntu Make" (umake) . Ubuntu Make (umake) спрощує встановлення та оновлення інструментів для розробників. Наберіть це в терміналі.

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

Буде показано вміст файлу sublime-text.desktop. Зверніть увагу на наступний рядок у файлі:

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

Вам потрібно змінити цей рядок. Тип:

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

Відкриється текстовий редактор нано, редагуйте цей рядок у

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

Переконайтеся, що ви ввели капітал F , а не малий. Натисніть "Ctrl + O". Натисніть «Enter». Натисніть "Ctrl + X". Тип:

sudo update-desktop-database

Проблема вирішена :), якщо ні, перезавантажте систему. Примітка: нано дуже добре для редагування, спробуйте (спробуйте)


0

Open /usr/share/applications/defaults.list(символьне посилання /etc/gnome/defaults.listна моїй системі) в піднесеному і замінити всі екземпляри gedit.desktopз sublime_text.desktop. Збережіть файл і перезавантажте комп'ютер - можливо, буде достатньо для виходу з системи та повернення до нього, але я підозрюю, що вам потрібно буде повністю вийти з Gnome, щоб налаштування перезавантажилися. Після входу в систему текст Sublime Text повинен бути вказаний у меню правою кнопкою миші як вибір за замовчуванням для файлів Markdown, і він повинен бути в меню "Open With", а також для всіх типів файлів, які можна відкрити в текстовий редактор.

Редагувати:

Ось зміст мого поточного /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;

Ще немає радості. У моїй установці Sublime Text має бути щось смішне. Я порівняв .desktopфайл із файлом Atom, і суттєвої різниці немає, але він Atomвідображається у open withсписку.
Ральф

@Ralph дуже дивно. Я щойно відредагував свою відповідь поточним вмістом моєї sublime_text.desktop, і вона виглядає точно так само, як та у вашому запитанні. Наступною моєю пропозицією буде повністю видалити Sublime (можна залишити ~/.config/sublime-text-3) та встановити його знову. /usr/share/applications/defaults.listЩе раз перевірте, щоб переконатися, що всі gedit(а може бути atom, і?) Записи замінені sublime_text, а потім перезавантажте та спробуйте ще раз.
MattDMo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.