Как сделать Geany моим редактором по умолчанию в Ubuntu?

23

На самом деле я хочу изменить текстовый редактор по умолчанию на моем Ubuntu 12.04 с nano на Geany. Когда я использовал этот код:

update-alternatives --config editor

.. Я не вижу Джани в списке.

Итак, чтобы добавить Geany, это должно работать правильно?

update-alternatives --install /usr/bin/geany geany /usr/bin/geany 10

Кроме того, вы можете сказать мне, если бы вы лично предложили мне изменить редактор по умолчанию с nano на Geany, и почему?

Программирование нуб
источник
@izx Абсолютно :) Я все еще хотел бы знать, каков был способ командной строки сделать это все же. Независимо от того, я отмечу ваш ответ как принятый :)
Программирование Noob

Ответы:

16

Способ командной строки:

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/geany 10

и затем используйте, sudo update-alternatives --config editorчтобы выбрать Geany, если это необходимо.

В качестве графической альтернативы методу командной строки рассмотрите возможность использования Gnome Alternatives ( sudo apt-get install galternatives). Запустите GAl Альтернативы , выберите редактор в левом столбце, а затем добавьте / выберите Geany справа.

иш
источник
5
Я сделал это, и Geany выбран, * 3 /usr/bin/geany 10 manual modeно когда я пытаюсь открыть текстовый файл, дважды щелкнув по нему в Nautilus, он все равно открывается с помощью gedit.
Делать
@ Так тоже мне. Интересно, как я могу отменить эти команды.
14

Как альтернатива, это также сработало для меня:

xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

Эта строка выбирает все MedTypes, для которых зарегистрирован gedit, выполняет некоторую очистку ( sedкоманды) и, наконец, устанавливает geany как приложение по умолчанию для них.

Я нашел его здесь вместе с кучей полезной информации о цветовых схемах.

Стив
источник
1
Это работает как шарм.
Фейсал сказал
1
Потрясающе! В отличие от принятого ответа, ваше решение действительно работает для меня. Благодарность! № 12.04
king_julien
Любая идея, как я могу отменить это?
king_julien
Не знаю, но посмотрите на ответ ниже, потому что (другой) Стив проделал большую работу, объясняя, что на самом деле делает этот - вы должны быть в состоянии произвести обратный инжиниринг эффектов оттуда. Почему вы это отменяете? Это было отличное решение для меня и отлично работало для меня более 6 месяцев ...
Стив
11

Это немного поздно, но я подумал, что это может кому-то помочь.

Моя проблема в том, что я не люблю копировать и вставлять вещи, которые я не понимаю, так что здесь объяснение ответов до сих пор.

Прежде всего, здесь есть два вопроса, и оба ответа сами по себе правильны:

  1. редактор командной строки по умолчанию - решается с помощью 'izx'
  2. сопоставление типа файла (mime-type) в сеансе рабочего стола для приложений с графическим интерфейсом - решено Стивом.

Вот немного подробнее:

  1. решение командной строки -из 'izx'

    • добавляет geany (приложение с графическим интерфейсом) в список альтернативных редакторов и устанавливает его по умолчанию.
    • Я всегда думал, что редактор обычно зарезервирован для текстовых редакторов, таких как vi, vim, nano и т. Д., Но я только что проверил, и это, похоже, тоже работает.
    • результат означает, что вы можете использовать выбранный по умолчанию файл, чтобы открыть файл, например, когда:
  2. решение типа MIME - от «Стива»

На уровне файлов есть два списка важности:

/usr/share/applications/defaults.list - список системных значений по умолчанию.

~/.local/share/applications/mimeapps.list - список значений по умолчанию сеанса личного рабочего стола пользователя

Что делает команда?

Со страницы руководства xdg-mime (man xdg-mime)

xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type

Команда xdg-mime default...добавляет записи в личный список пользователей.

Давайте сломать команду вниз.

Команда:

xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

Команду можно прочитать как:

установить geany.desktop в качестве приложения по умолчанию для mime-типа, выводимого $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

Смотря на

$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
  • берет все mime-типы из файла geany.desktop
  • удаляет "MimeType ="
  • заменяет ";" с " "
  • давая нам:
    text/plain text/x-chdr text/x-csrc text/x-c++hdr text/x-c++src text/x-java text/x-dsrc text/x-pascal text/x-perl text/x-python application/x-php application/x-httpd-php3 application/x-httpd-php4 application/x-httpd-php5 application/xml text/html text/css text/x-sql text/x-diff

Посмотрев на личный файл пользователя после выполнения команды, мы можем увидеть все ассоциации файлов, установленные для приложения geany.desktop:

[Default Applications]
x-scheme-handler/mailto=userapp-Thunderbird-ZP00XW.desktop
message/rfc822=userapp-Thunderbird-ZP00XW.desktop
application/x-extension-eml=userapp-Thunderbird-ZP00XW.desktop
application/x-perl=sublime_text.desktop
text/plain=geany.desktop
text/x-chdr=geany.desktop
text/x-csrc=geany.desktop
text/x-dtd=sublime_text.desktop
text/x-java=geany.desktop
text/mathml=sublime_text.desktop
text/x-python=geany.desktop
text/x-sql=geany.desktop
text/x-c++hdr=geany.desktop
text/x-c++src=geany.desktop
text/x-dsrc=geany.desktop
text/x-pascal=geany.desktop
text/x-perl=geany.desktop
application/x-php=geany.desktop
application/x-httpd-php3=geany.desktop
application/x-httpd-php4=geany.desktop
application/x-httpd-php5=geany.desktop
application/xml=geany.desktop
text/html=geany.desktop
text/css=geany.desktop
text/x-diff=geany.desktop

Зная это, вот моя конкретная проблема и то, как я ее решил.

Проблема:

Я хотел изменить стандартное приложение для открытия файлов в Nautilus с «gedit» -> «sublime text».

Решение:

Найдите системные значения по умолчанию для gedit:

$less /usr/share/applications/defaults.list | grep gedit
application/x-perl=gedit.desktop
text/plain=gedit.desktop
text/x-chdr=gedit.desktop
text/x-csrc=gedit.desktop
text/x-dtd=gedit.desktop
text/x-java=gedit.desktop
text/mathml=gedit.desktop
text/x-python=gedit.desktop
text/x-sql=gedit.desktop

Замените «gedit» на «sublime_text» и добавьте записи в раздел «Приложения по умолчанию» моего личного списка defaults.list

application/x-perl=sublime_text.desktop
text/plain=sublime_text.desktop
text/x-chdr=sublime_text.desktop
text/x-csrc=sublime_text.desktop
text/x-dtd=sublime_text.desktop
text/x-java=sublime_text.desktop
text/mathml=sublime_text.desktop
text/x-python=sublime_text.desktop
text/x-sql=sublime_text.desktop
Steve-B
источник
Это очень полезно, но вы также можете рассмотреть возможность редактирования и улучшения существующих ответов. Это часто гораздо меньше работы.
Том Броссман
2
Хороший вопрос, Том, спасибо. Я всегда немного обеспокоен редактированием ответов людей. Я добавить комментарий к общепринятом ответ.
Steve-B
Не беспокойтесь о редактировании чужой пост здесь, как ожидается. Изменения рецензируются до тех пор, пока вы не наберете 2000 повторений, а затем они проходят прямо. Сохраняя все хорошие данные в одном ответе позволяет легко найти позже.
Том Броссман,
1

Поскольку есть комментарии, указывающие, что принятый ответ был неправильным, я чувствую, что должен указать, что этот вопрос не может иметь единственного ответа. Если вопрос был изменен для указания CLI, а запросы для GUI перемещены в новый поток, это устранит путаницу. Думаю, слишком поздно.

В любом случае для nautilus (он же файлы) на gnome под Ubuntu 14.04. И, учитывая принятый ответ, вы можете (как и я) ожидать, что эквивалент будет:
donotdothisssudo update-alternatives --install /etc/alternatives/gnome-text-editor gnome-text-editor /usr/bin/geany 10

Это то, что я думал, и это сломало ссылки, так что не делай этого! Если вы сделали, это то, что они были для меня:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/gedit

При исправлении этой ошибки я воссоздал эти ссылки следующим образом:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/geany

Поскольку все, что я действительно сделал, это заменил вторичную симлинк, и я получил желаемый ответ в своей системе, я предполагаю, что задача заключается просто в следующем:
sudo ln -s /usr/bin/geany /etc/alternatives/gnome-text-editor

Однако запуск команды CLI для изменения чего-либо, специфичного для графического интерфейса, должен быть неправильным. Место, где меня держат руки при поиске этой опции изменения, - это система меню nautilus, рядом с настройкой отдельного типа файла. Однако единственная причина, по которой я туда иду, заключается в том, что именно в этом и заключается часть решения. На мой взгляд, если вы следовали логике DPKG (альтернативы обновления) и включили ее в свой дистрибутив, то вам не нужно, чтобы приложение пользовательского пространства, такое как Nautilus, вмешивалось в ваше приложение диспетчера настроек. Моим скромным предложением исправить это было бы добавление нового элемента управления настройками редактора в настройки >> подробности >> приложения по умолчанию, который должен был быть новой страницей с точки зрения пользователей. Затем команде Nautilus необходимо изменить свое меню, чтобы пользователь перенаправлялся на эту новую страницу. Это поставило бы под угрозу, когда мои руки взяли меня, чтобы искать настройку, где мои руки «должны» взять меня вместо этого и управлять процессом ввода одной точки в настройку системы. Похоже, что это изменение должно быть в рамках альтернативных вариантов Debian, хотя я просто догадываюсь. Конечно, не было бы смысла продвигаться вперед с такими вещами без команды Nautilus с идеей, им также нужно будет указать API или эквивалентный механизм.

Страница настроек, на мой взгляд, должна охватывать как выбор редактора gnome по умолчанию, так и приложение, используемое для открытия каждого отдельного файла (который заменяет текущую функциональность, предоставляемую Nautilus).

Я пишу это как мимолетную мысль, не стесняйтесь продвигать это вперед, если оно обращается к вам. К сожалению, я не знаю процедуру и протокол, необходимый для этого сам.

Джим Вотерспун
источник