Jak ustawić Geany jako domyślny edytor na Ubuntu?

23

Naprawdę chcę zmienić domyślny edytor tekstu na moim Ubuntu 12.04 z nano na Geany. Kiedy użyłem tego kodu:

update-alternatives --config editor

.. Nie widzę Geany na liście.

Więc, aby dodać Geany, to powinno działać, prawda?

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

Na marginesie, czy możesz mi powiedzieć, czy osobiście zaproponowałbyś mi zmianę domyślnego edytora z nano na Geany i dlaczego?

Programowanie Noob
źródło
@izx Absolutnie :) Wciąż chciałbym wiedzieć, jak to zrobić w wierszu poleceń. Niezależnie od tego oznaczę twoją odpowiedź jako przyjętą :)
Programowanie Noob

Odpowiedzi:

16

Wiersz polecenia to:

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

a następnie użyj, sudo update-alternatives --config editoraby wybrać Geany, jeśli to konieczne.

Jako graficzną alternatywę dla metody wiersza poleceń, rozważ użycie Gnome Alternatives ( sudo apt-get install galternatives). Uruchom GAlternatywy , wybierz edytor w lewej kolumnie, a następnie dodaj / wybierz Geany po prawej.

ish
źródło
5
Zrobiłem to i Geany jest zaznaczona, * 3 /usr/bin/geany 10 manual modeale kiedy próbuję otworzyć plik tekstowy, klikając go dwukrotnie w Nautilusie, nadal otwiera się on za pomocą gedit.
Zrobić
@ToDo Me też. Zastanawiam się, jak mogę cofnąć te polecenia.
14

Dla mnie to również zadziałało:

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

Ta linia pobiera wszystkie zarejestrowane dla gedit MimeTypes, wykonuje pewne czyszczenie ( sedpolecenia) i ostatecznie ustawia dla nich geany jako domyślną aplikację.

I znalazłem go tutaj wraz z grupą użytecznych informacji na temat kolorów.

Steve
źródło
1
To działało jak urok.
Faisal Sayed
1
Niesamowite! W przeciwieństwie do zaakceptowanej odpowiedzi, twoje rozwiązanie faktycznie działa dla mnie. Dzięki! # 12.04
king_julien
Masz pomysł, jak to cofnąć?
king_julien
Nie mam pojęcia, ale spójrz na poniższą odpowiedź, ponieważ (drugi) Steve wykonał świetną robotę, wyjaśniając, co on naprawdę robi - powinieneś być w stanie odtworzyć od tego efekty. Dlaczego to cofasz? To było dla mnie świetne rozwiązanie i działało dla mnie doskonale przez ponad 6 miesięcy ...
Steve
11

Jest trochę późno, ale pomyślałem, że może komuś pomóc.

Mój problem polega na tym, że nie lubię kopiować i wklejać rzeczy, których nie rozumiem, więc oto wyjaśnienie dotychczasowych odpowiedzi.

Przede wszystkim są tu dwie kwestie i obie odpowiedzi są, same w sobie, poprawne:

  1. domyślny edytor wiersza poleceń - rozwiązany przez „izx”
  2. skojarzenie typu pliku (typu MIME) w sesji pulpitu dla aplikacji GUI - rozwiązane przez „Steve”.

Tutaj trochę bardziej szczegółowo:

  1. rozwiązanie wiersza polecenia -z 'izx'

    • dodaje geany (aplikację GUI) do listy alternatywnych edytorów i ustawia ją jako domyślną.
    • Zawsze myślałem, że edytor był zwykle zarezerwowany dla edytorów tekstowych, takich jak vi, vim, nano itp., Ale właśnie sprawdziłem i wydaje się, że to również działa.
    • wynik oznacza, że ​​możesz wybrać domyślny plik, który zostanie użyty do otwarcia pliku, gdy na przykład:
  2. rozwiązanie typu mime - od „Steve”

Na poziomie plików istnieją dwie listy ważności:

/usr/share/applications/defaults.list - lista domyślnych ustawień systemu.

~/.local/share/applications/mimeapps.list - lista domyślnych osobistych sesji sesji pulpitu użytkownika

Co robi polecenie?

Ze strony podręcznika użytkownika 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...Polecenie dodaje wpisy do osobistej listy użytkowników.

Złammy to polecenie.

Dowództwo:

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

Polecenie można odczytać jako:

ustaw geany.desktop jako domyślną aplikację dla typu mime wysyłanego przez $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

Patrzeć na

$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
  • pobiera wszystkie typy mime z pliku geany.desktop
  • usuwa „MimeType =”
  • zastępuje „;” z " "
  • dając nam:
    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

Patrząc na osobisty plik użytkownika po uruchomieniu polecenia, możemy zobaczyć wszystkie ustawione skojarzenia plików dla aplikacji 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

Wiedząc o tym, oto mój szczególny problem i sposób jego rozwiązania.

Problem:

Chciałem zmienić domyślną aplikację „otwieranie plików” w Nautilusie z „gedit” -> „sublime text”.

Rozwiązanie:

Znajdź domyślne ustawienia systemowe gedit za pomocą:

$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

Zamień „gedit” na „sublime_text” i dodaj wpisy do sekcji „Aplikacje domyślne” mojej osobistej listy 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
źródło
Jest to bardzo pomocne, ale możesz również rozważyć edycję i ulepszenie istniejących odpowiedzi. Często jest to o wiele mniej pracy.
Tom Brossman
2
Dobra uwaga Tom, dzięki. Zawsze jestem trochę zaniepokojony edytowaniem odpowiedzi ludzi. Dodam komentarz do zaakceptowanej odpowiedzi.
Steve-B
Nie martw się o edytowanie postu innej osoby, jest to oczekiwane. Edycje są recenzowane, dopóki nie trafisz 2000 powtórzeń, a następnie przechodzą od razu. Zachowanie wszystkich dobrych informacji w jednej odpowiedzi ułatwia znalezienie później.
Tom Brossman
1

Ponieważ istnieją komentarze wskazujące, że zaakceptowana odpowiedź była nieprawidłowa, uważam, że powinienem wskazać, że to pytanie nie może zawierać jednej odpowiedzi. Jeśli pytanie zostało zmienione, aby określić CLI, a zapytania dotyczące GUI zostały przeniesione do nowego wątku, rozwiałoby to zamieszanie. Chyba za późno na to.

W każdym razie dla nautilus (aka plików) na gnome pod Ubuntu 14.04. Biorąc pod uwagę przyjętą odpowiedź, możesz (tak jak ja) oczekiwać, że jej odpowiednikiem będzie:
donotdothisssudo update-alternatives --install /etc/alternatives/gnome-text-editor gnome-text-editor /usr/bin/geany 10

Tak myślałem i zepsuło to linki, więc nie rób tego! Jeśli tak, to są dla mnie:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/gedit

Podczas naprawy tego błędu odtworzyłem te łącza w następujący sposób:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/geany

Ponieważ tak naprawdę wszystko, co zrobiłem, to zastąpienie wtórnego linku prostego i mam pożądaną odpowiedź w moim systemie, domyślam się, że zadanie jest po prostu następujące:
sudo ln -s /usr/bin/geany /etc/alternatives/gnome-text-editor

Jednak uruchomienie polecenia CLI w celu zmiany czegoś, co jest specyficzne dla GUI, musi być niepoprawne. Miejscem, w którym biorą mnie dłonie, szukając tej opcji zmiany, jest system menu nautilus, obok indywidualnego ustawienia typu pliku. Jednak jedynym powodem, dla którego tam wybrałem, jest to, że właśnie tam jest część rozwiązania. Moim zdaniem, jeśli zastosowałeś się do logiki DPKG (aktualizacja-alternatywy) i umieściłeś ją w swojej dystrybucji, to nie chcesz, aby aplikacja przestrzeni użytkownika, taka jak Nautilus, zakłócała ​​twoją aplikację menedżera ustawień. Moją pokorną propozycją, aby to naprawić, byłoby dodanie nowej kontroli ustawień edytora do ustawień >> szczegóły >> domyślne aplikacje, które z punktu widzenia użytkowników musiałyby być nową stroną. Zespół Nautilus musiałby wtedy zmienić menu, aby użytkownik został przekierowany na tę nową stronę. Byłoby to kompromisowe w przypadku, gdy moje ręce zabrały mnie do szukania ustawienia, gdzie moje „powinny” zabrać mnie zamiast tego i zarządzać procesem wprowadzania pojedynczego punktu do ustawienia systemu. Wygląda na to, że ta zmiana musiałaby się mieścić w gnieździe debianów, chociaż tylko zgaduję. Oczywiście nie byłoby sensu naliczać tego typu rzeczy bez zespołu Nautilusa, który byłby na pokładzie z tym pomysłem, musieliby również określić API lub równoważny mechanizm.

Moim zdaniem strona ustawień musiałaby obejmować zarówno domyślny wybór edytora gnome, jak i aplikację używaną do otwierania każdego pojedynczego pliku (która ma zastąpić bieżącą funkcjonalność dostarczaną przez Nautilus).

Postrzegam to jako przemijającą myśl, nie krępuj się, jeśli przemówi do ciebie. Niestety nie znam procedury i protokołu koniecznego do zrobienia tego sam.

Jim Wotherspoon
źródło