DSIW

Alles was interessant ist... (Linux, Programmierung, Datenschutz, Medien, uvm.)

Halbautomatisches Erweitern eines externen Bildschirms

| Comments

Ich benutze Ubuntu und eine nvidia-Grafikkarte. Wer kennt es nicht: man möchte einen externen Monitor anschließen und steckt das HDMI-Kabel an. Dann passiert nichts und muss nvidia-settings aufrufen, um den Bildschirm zu erweitern. Dabei vergeht schon einiges an Zeit, um die Einstellungen vorzunehmen. Zudem muss ich noch das Audio-Profil in den Audio-Einstellungen auf hdmi-stereo ändern. Diese Einstellungen habe ich schon sehr oft angewandt und wenn man die Zeit zusammenrechnet, kommt bestimmt einiges zusammen. Ich habe mir nun ein Skript geschrieben, das diese beiden Einstellungen je nach Situation - ob der ext. Bildschirm angeschlossen ist, oder nicht - automatisch einstellt. Ich werde nun jeden einzelnen Schritt erklären, damit das Vorgehen hoffentlich verständlich ist. Alle Befehle werden in einem gnome-terminal eingegeben. Dieses kann man mit der Tastenkombination [Strg]+[Alt]+[T], oder im Menü unter Anwendungen > Zubehör > Terminal öffnen.

Ändern des Audio-Profils

Hinweis: Ich benutze pulseaudio als Audio-Treiber.

Anzeigen aller Profile

Dies geschieht mittels

1
pactl list

(letzten Einträge der Ausgabe)

Dann schaut die Anzeige in etwa so aus:

1
2
3
4
5
6
7
8
Profile:
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority. 6000)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority. 6060)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority. 5400)
output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority. 5460)
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority. 60)
off: Aus (sinks: 0, sources: 0, priority. 0)
Aktive Profile: output:hdmi-stereo

Audio-Ausgänge per Terminal auswählen

Die Audio-Ausgänge können mit

1
pactl set-card-profile 0 output:hdmi-stereo

oder

1
pactl set-card-profile 0 output:analog-stereo

verändert werden. Natürlich sind auch noch die anderen Profile auswählbar.

Ich habe mir ein kleines Skript gebastelt, das mir bei jedem Aufruf zwischen den beiden Audio-Profilen hin und her schaltet. Das Skript ist hier herunterladbar.

Monitor umschalten

Installation von Disper

Disper ist ein Programm, das ein lästiges gui-einstellen überflüssig macht. Das Programm lässt sich ganz einfach als PPA in Ubuntu einbinden. Dazu wird der Befehl

1
apt-add-repository ppa:disper-dev/ppa

im Terminal eingegeben. Damit die Pakete auch erkannt werden, muss ein Update durchgeführt werden. Der Befehl

1
sudo aptitude update

oder

1
sudo apt-get update

bewirkt dies. (Hinweis: aptitude ist der Nachfolger von apt-get.) Nun lässt sich das Programm einfach durch den Paketnamen installieren:

1
sudo aptitude install disper

Nachdem das Programm installiert wurde, werden wir das erste Skript unten auf der Wiki-Seite (nicht für Präsentationen) anpassen.

Anpassen des Skripts

Das Skript ist hier gepostet.

Dieses Skript habe ich unter

1
/home/USER/bin/extendMon-home

abgespeichert. Nun möchte ich das Skript mittels einer Tastenkombination ausführen lassen.

Ausführen des Skripts per Tastenkombination

In Ubuntu gibt es ein Programm namens xbindkeys, welches sich dafür eignet. Zuerst hatte ich es mit der GUI xbindkeys-config (s. Wiki-Artikel) probiert. Aber leider funktionierte es bei mir nicht. Somit habe ich es per Terminal versucht.

Es muss eine Konfigurationsdatei im Home-Verzeichnis des Users erstellt werden. Dies wird mit

1
xbindkeys --defaults > ~/.xbindkeysrc

gelöst. Danach wird diese Datei geöffnet und verändert. Dazu wird der Editor deiner Wahl verwendet. Ich benutze gedit, der Standard-Editor in Ubuntu. Die Datei wird mit

1
gedit ~/.xbindkeysrc

geöffnet. Ich habe dann einen weiteren Eintrag am Ende der Datei hinzugefügt:

1
2
3
## Erweitert Monitor nach Bedarf. Skript in ~/bin enthalten
"extendMon-home"
    Control + Alt + m

Man kann auch eine alternative Tastenkombination verwenden. Um herauszufinden, wie eine Tastenkombination lautet, kann man wieder das Programm xbindkeys zu Hilfe nehmen. Mittels

1
xbindkeys -mk

werden die gedrückten Tastenkombinationen angezeigt. Diese können dann markiert und mit einem Mittelmausklick im Editor eingefügt werden. Nun muss xbindkeys mit dieser Konfigurationsdatei gestartet werden. Das geschieht, wenn man

1
xbindkeys -f ~/.xbindkeysrc

eingibt.

Ich würde noch empfehlen den letzten Befehl beim Boot des PCs zu starten.

xbindkeys beim Boot starten

Dazu öffnet man System > Einstellungen > Startprogramme und wählt "hinzufügen". Dabei müssen verschiedene Daten angegeben werden. In meinem Fall habe ich diese so gewählt:

Name: Tastenbelegung
Befehl: xbindkeys -f ~/.xbindkeysrc
Kommentar: Eigene Tastenbelegung

Nach diesen Einstellungen ist es möglich mittels dem Befehl

1
extendMon-home

oder der Tastenkombination Control+Alt+M das Skript zu starten.

Comments