Używam laptopa z zewnętrznym monitorem z głośnikami. Kiedy monitor jest podłączony przez HDMI, mogę przełączać (używając GUI: Ustawienia dźwięku -> Sprzęt) pomiędzy normalnym wyjściem audio laptopa a wyjściem monitora.
Powtarzam tę procedurę dużo czasu i zacząłem się zastanawiać, czy mogę ją zautomatyzować, czy zresztą wykonać ją szybciej za pomocą powłoki.
Moja dystrybucja to Ubuntu 12.04 z gnome 3.
EDYTOWAĆ:
Próbowałem użyć pacmd, ale zlewy list dają mi tylko to urządzenie, którego aktualnie używam:
pacmd list-sinks | grep name:
name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo>
Po przejściu z GUI:
pacmd list-sinks | grep name:
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
A jeśli spróbuję to zmienić, otrzymam:
pacmd set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo
Welcome to PulseAudio! Use "help" for usage information.
Sink alsa_output.pci-0000_00_1b.0.hdmi-stereo does not exist.
źródło
Napisałem mały aplet wskaźnikowy, który pozwala przełączać wyjście dźwięku. Brak skryptu powłoki, ale może być pomocny dla ciebie lub innych czytelników.
https://github.com/lkettenb/sound-output-switcher
źródło
Na podstawie poprzednich stworzyłem bardzo mały skrypt, który nie tylko przełącza dźwięk, ale także wyjście wideo. Wykorzystuje disper do przełączania między wyświetlaczami.
Oto kod:
Dla mnie jest to szczególnie przydatne, ponieważ nie lubię klonować wyświetlaczy. Używam jednego lub drugiego. Konieczne może być dostosowanie profili audio do konkretnego systemu.
źródło
Możesz użyć
pactl
, przeczytaj jego stronę podręcznika, aby uzyskać więcej informacji.źródło
Skrypt Pythona Lukasa ( https://github.com/lkettenb/sound-output-switcher , zamieszczony powyżej) do implementacji apletu powiadamiającego działa dobrze. Potrzebuje pakietu appindicator. Można to zainstalować za pomocą
źródło
Możesz wypróbować ten skrypt: https://github.com/giner/helplinux/tree/master/scripts/switch-sound
Testowane na Ubuntu 10.04 - 13.04 i Arch Linux
źródło
Jak powiedziałem tutaj (prawdopodobnie duplikat), alternatywa dla Sound Switcher Indicator (która wymaga dodania PPA):
W jednej linii
W moim przypadku było
hdmi-stereo-extra1+input
profil, więc w jednej linii będzie:[[ $(pacmd list-cards | grep "active profile" | cut -d " " -f 3-) = "<output:hdmi-stereo-extra1+input:analog-stereo>" ]] && pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo" || pacmd set-card-profile 0 "output:hdmi-stereo-extra1+input:analog-stereo"
.Możesz użyć niestandardowego skrótu, aby go wykonać
bash -c
(ostrzeże Cię, jeśli wystąpi konflikt z innym skrótem):Możesz także dodać
alias
do swojego.bashrc
.W skrypcie
Wprowadziłem kilka zmian w oparciu o odpowiedź @ user829996 (i tutaj @ user56655):
źródło
Utworzyłem następujący skrypt Pythona, który wykonuje następujące czynności:
Przypisałem skrót klawiaturowy do skryptu, a moje życie jest teraz szczęśliwe
źródło