update-alternatives

Aus Foxwiki


ubuntuwiki

Ein Vorteil von Linux ist die Vielfalt von Anwendungen. Man kann zwischen mindestens 42 Editoren oder 24 Mail-Programmen wählen. Der Benutzer hat dabei alle Freiheiten bei der Auswahl seiner Lieblingsprogramme. Diese Programme können alle gleichzeitig installiert sein. Für andere Programme kann es aber schwierig sein festzustellen, welches Programm für welche Aufgabe benutzen werden soll.

Das Alternativen-System ermöglicht es, aus mehreren Programmen mit gleicher Funktionalität eines als systemweite Vorgabe zu wählen. Verwendet wird es in der Regel bei Debian und darauf basierenden Distributionen – wie Ubuntu.

Für – in aller Regel – benutzerspezifische Vorgaben nicht nur von Standard-Anwendungen, sondern u.a. auch von [:MIME-Typ:MIME-Typen], stehen als Alternative die Kommandozeilenwerkzeuge der [:xdg-utils:] bereit.

Funktionsweise

Alternativen werden über zweifache symbolische Links verwirklicht. Zum Beispiel ist /usr/bin/x-www-browser ein symbolischer Link auf /etc/alternatives/x-www-browser, was wiederum ein symbolischer Link auf den als Vorgabe eingestellten Webbrowser ist.

{{{#!vorlage Experten Diese scheinbar unsinnige "Umleitung" erklärt sich dadurch, dass der [wikipedia:Filesystem_Hierarchy_Standard:FHS] empfiehlt, dass vom Systemadministrator durchgeführte Änderungen sich auf das Verzeichnis /etc beschränken sollten. }}}

Optionen

Das Alternativen-System kann mit dem Kommandozeilenprogramm [1] update-alternatives konfiguriert werden. Die folgenden Optionen sind gebräuchlich, wobei immer Eingabe und Ausgabe angegeben ist. Mitunter sind bei der Ausgabe noch weitere Ein- und Angaben des Benutzers notwendig.

* `--get-selections` -  Zeigt die Namen der Gruppen an: {{{#!vorlage Befehl

update-alternatives --get-selections }}} Der Gruppenname ist Voraussetzung für alle folgenden Befehle.

* `--list GRUPPENNAME` -  Zeigt alle Ziele der Linkgruppe an: {{{#!vorlage Befehl

update-alternatives --list x-www-browser }}} {{{ /usr/bin/firefox /usr/bin/epiphany /usr/bin/dillo /usr/bin/opera }}}

* `--display GRUPPENNAME` - Zeigt  Informationen über die Linkgruppe an, in der `link` der Master-Link ist. Die angezeigten Informationen enthalten den Modus der Gruppe (automatisch oder manuell), auf welche Alternative der Symlink derzeit zeigt, welche weiteren Alternativen als `slave` zur Verfügung stehen und die installierte Alternative mit der höchsten Priorität. {{{#!vorlage Befehl

update-alternatives --display x-www-browser }}} {{{x-www-browser - status is manual.

link currently points to /usr/bin/epiphany

/usr/bin/firefox - priority 70

slave x-www-browser.1.gz: /usr/share/man/man1/firefox.1.gz

/usr/bin/epiphany - priority 85

slave x-www-browser.1.gz: /usr/share/man/man1/epiphany.1.gz

/usr/bin/dillo - priority 100

slave x-www-browser.1.gz: /usr/share/man/man1/dillo.1.gz

/usr/bin/opera - priority 80 Current `best' version is /usr/bin/dillo. }}}

* `--config GRUPPENNAME` - Zeigt die verfügbaren Alternativen an und erlaubt es, interaktiv ein Programm als Vorgabe auszuwählen. {{{#!vorlage Befehl

sudo update-alternatives --config x-www-browser }}} {{{There are 4 alternatives which provide `x-www-browser'.

 Selection    Alternative

     1        /usr/bin/firefox
  • 2 /usr/bin/epiphany
+    3        /usr/bin/dillo
     4        /usr/bin/opera

Press enter to keep the default[*], or type selection number: 2 Using `/usr/bin/epiphany' to provide `x-www-browser'. }}}

* `--install ZIEL GRUPPENNAME PROGRAMM PRIORITÄT` - Man kann dem Alternativen-System auch eigene Einträge für Anwendungen bekannt machen. Wenn man zum Beispiel den Webbrowser Firefox unter /usr/local/bin installiert hat, sähe der Befehl so aus: {{{#!vorlage Befehl

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/firefox 100 }}} {{{#!vorlage Experten Sehr ausführliche Informationen sind in den [:man:Manpages] von update-alternatives nachzulesen. Um den generischen Namen des Ziels (der Master-Link; im obigen Beispiel /usr/bin/x-www-browser) von bereits installierten Alternativen-Gruppen herausbekommt, benötigt man die Ausgabe von: {{{#!vorlage Befehl sed -ne 2p /var/lib/dpkg/alternatives/x-www-browser \}}} }}}

* `--set GRUPPENNAME PROGRAMM` -  Nachdem man ein Programm "installiert" (im Sinne von dem Alternativen-System bekannt gemacht) hat, setzt man nun das jeweils gewünschte Programm als Alternative.  Dieser Befehl ist äquivalent zu `--config`, aber nicht interaktiv. {{{#!vorlage Befehl

sudo update-alternatives --set x-www-browser /usr/bin/epiphany }}} {{{ Using `/usr/bin/epiphany' to provide `x-www-browser' }}}

Anker(GUI)

Grafische Werkzeuge

Neben der Möglichkeit, Programme mit dem Alternativen-System systemweit als bevorzugte Anwendung zu setzen, gibt es in den verschiedenen Desktop-Umgebungen die Möglichkeit, Standardanwendungen nur für den jeweiligen Benutzer einzurichten. Dafür sind keine Root-Rechte notwendig. Wurden so Einstellungen in der Desktop-Umgebung vorgenommen, gelten diese für den jeweiligen Nutzer und nicht die systemweiten Einstellungen.

Anker(Ubuntu)

Bild(gnome-control-center-vorgabe.png, 250, align=right)

Unity/GNOME 3

In [:Unity:] und bei der [:GNOME_Shell:] können unter

* "[:GNOME3_Systemeinstellungen:Systemeinstellungen] → Informationen → Vorgabeanwendungen"

einige Standardanwendungen eingestellt werden. Die Einstellung für das [:Terminal:] legt man stattdessen mit Hilfe desselben fest:

{{{#!vorlage Befehl gsettings list-recursively org.gnome.desktop.default-applications # Einstellungen anzeigen gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal --maximize' # Einstellung ändern (Beispiel) }}}

Anker(Kubuntu) Bild(./kde_standardanwendungen.png, 250, align=right)

KDE

Über das {k} Anwendungsmenü unter

* "[:KDE-Systemeinstellungen:Systemeinstellungen] → Anwendungen → Standard-Anwendungen"

kann man unter [:KDE:] einstellen, welche KDE-Anwendungen benutzt werden sollen.

Damit ist es auch möglich, mittels `sudo update-alternatives --config x-www-browser` den systemweiten Browser auf [:Firefox:] und nur den KDE-Webbrowser umzustellen. Dann öffnet z.B. der [:TV-Browser:] (ein Java-Programm) Links weiterhin in Firefox.

MATE

Über das {ma} MATE-Menü unter

* "System → Einstellungen → Bevorzugte Anwendungen"

kann jeder Benutzer individuell einstellen, welcher Webbrowser, welches E-Mail- und welches Terminalprogramm zu nutzen ist.

Anker(Xubuntu)

Bild(./xfce_bevorzugte_anwendungen.png, 150, align=right)

Xfce

In der Desktopumgebung [:Xfce:] findet man diesen Dialog im {x} Anwendungsmenü unter

* "Einstellungen → Bevorzugte Anwendungen"

Unter dem Reiter "Werkzeuge" können noch weitere Einstellungen vorgenommen werden. Neben Webbrowser und E-Mail-Programm können auch Standard-Terminal und -Editor festgelegt werden.

Anker(Lubuntu)

Bild(./lxde_bevorzugte_anwendungen.png, 150, align=right)

LXDE

Die Einstellungsmöglichkeiten bei LXDE sind im Vergleich mit den bisherigen Werkzeugen am bescheidensten. Zugänglich sind diese wie bei Xfce über das {l} Anwendungsmenü und

* "Einstellungen → Bevorzugte Anwendungen"

erreichbar.

Bild(./galternatives.png, 200, align=right)

G Alternatives

Neben der Verwaltung der Alternativen über die Kommandozeile oder den integrierten Möglichkeiten der Desktop-Umgebungen gibt ein weiteres grafisches Werkzeug namens "G Alternatives". Damit können die systemweiten Einstellung über eine graphische Benutzeroberfläche geändert werden. Die Anwendung eignet sie sich für alle auf der Grafikbibliothek [:GTK:] basierenden Oberflächen (praktisch alle offiziellen Ubuntu-Varianten mit Ausnahme von Kubuntu).

Dieses Programm kann direkt aus den offiziellen Paketquellen installiert [3] werden. Der Paketname lautet:

{{{#!vorlage Paketinstallation galternatives, universe }}}

Der Programmstart[4] erfolgt bei Ubuntu-Varianten mit einem Anwendungsmenü über "System -> Alternatives Configurator". Alternativ kann man den Befehl:

{{{#!vorlage Befehl sudo -H galternatives }}}

nutzen. In beiden Fällen sind Root-Rechte [2] erforderlich. Die Bedienung sollte selbsterklärend sein - ansonsten sei noch einmal auf die Grundlagen am Anfang dieses Artikels verwiesen.

Links

* [:MIME-Typ:] - Dateiinhalte bestimmten Standardanwendungen zuweisen