Як зробити Geany моїм редактором за замовчуванням на Ubuntu?


23

Я фактично хочу змінити текстовий редактор за замовчуванням на моїй Ubuntu 12.04 з нано на Geany. Коли я використовував цей код:

update-alternatives --config editor

.. Я не бачу Гені у списку.

Отже, щоб додати Geany, це повинно працювати правильно?

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

Крім того, ви можете сказати мені, якщо ви особисто запропонували мені змінити редактор за замовчуванням з нано на Geany, і чому?


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

Відповіді:


16

Спосіб командного рядка:

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

а потім, sudo update-alternatives --config editorякщо потрібно, виберіть Geany.

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


5
Я це зробив, і вибирається Geany, * 3 /usr/bin/geany 10 manual modeале коли я намагаюся відкрити текстовий файл, двічі клацнувши його в Nautilus, він все ще відкриється з gedit.
До

@ToDo мені теж. Цікаво, як я можу скасувати ці команди.

14

Як альтернатива, це також працювало для мене:

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

Цей рядок витягує всі MimeTypes gedit, зареєстрований, виконує деяку очистку ( sedкоманди) і, нарешті, встановлює geany як додаток за замовчуванням для них.

Я знайшов це тут разом з купою корисної інформації про кольорові схеми.


1
Це спрацювало як шарм.
Файсал сказав

1
Дивовижно! На відміну від прийнятої відповіді, ваше рішення насправді працює на мене. Спасибі! # 12.04
king_julien

Будь-яка ідея, як я можу це скасувати?
king_julien

Ніякої ідеї, але подивіться на відповідь нижче, тому що (інший) Стів зробив чудову роботу, пояснивши, що це насправді робить - ви повинні мати змогу повернути інженеру ефекти звідти. Чому ви це скасовуєте? Це було чудовим рішенням для мене і прекрасно працювало для мене понад 6 місяців ...
Стів

11

Це трохи пізно, але я подумав, що це може комусь допомогти.

Моя проблема полягає в тому, що я не люблю копіювати та вставляти речі, які я не розумію, тому ось пояснення відповідей поки що.

По-перше, тут є два питання, і обидві відповіді самі по собі є правильними:

  1. редактор командного рядка за замовчуванням - вирішено 'izx'
  2. асоціація типу файлу (mime-type) в робочому сеансі для GUI-додатків - вирішена 'Steve'.

Ось трохи докладніше:

  1. рішення командного рядка -від 'izx'

    • додає geany (додаток GUI) до списку альтернативних редакторів і встановлює його за замовчуванням.
    • Я завжди думав, що редактор зазвичай зарезервований для текстових редакторів, таких як vi, vim, nano тощо, але я щойно перевірив, і це, здається, працює також.
    • результат означає, що ваш обраний за замовчуванням буде використовуватися для відкриття файлу, наприклад:
  2. mime-рішення - від "Steve"

На рівні файлів є два списки важливості:

/usr/share/applications/defaults.list - список за замовчуванням у системі.

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

Що робить команда?

З сторінки man 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" -> "піднесений текст".

Рішення:

Знайдіть системні налаштування для 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" і додайте записи до розділу "Програми за замовчуванням" мого персонального дефолту.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

Це дуже корисно, але ви також можете розглянути можливість редагування та покращення існуючих відповідей. Часто набагато менше роботи.
Том Броссман

2
Добрий момент Том, дякую. Я завжди трохи побоююся редагувати відповіді людей. Я додам коментар до прийнятої відповіді.
Стів-Б

Не турбуйтеся про редагування чужої публікації тут, як очікується. Зміни піддаються рецензуванню, поки ви не потрапите на 2000 повторень, а потім пройдете прямо. Зберігаючи всю хорошу інформацію в одній відповіді, це легко знайти пізніше.
Том Броссман

1

Оскільки є коментарі, які вказують на те, що прийнята відповідь була невірною, я вважаю, що слід зазначити, що на це запитання не може бути однозначної відповіді. Якщо питання було змінено, щоб вказати CLI, а запити для GUI перейшли на новий потік, це усуне плутанину. Думаю, занадто пізно для цього.

У будь-якому разі для nautilus (він же файлів) у гномі під 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

Оскільки я дійсно зробив це заміна вторинного simlink, і я маю бажану відповідь у своїй системі, я гадаю, що завдання полягає лише в цьому:
sudo ln -s /usr/bin/geany /etc/alternatives/gnome-text-editor

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

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

Я публікую це як думку, що проходить, сміливо просувайте її вперед, якщо вона сподобається вам. На жаль, я не знаю процедури та протоколу, необхідних для цього.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.