# Alterando sinks do PulseAudio por linha de comando e através do painel do XFCE4 ###### tags: `linux` `pulseaudio` `shell script` `xfce` ![](https://i.imgur.com/f5QOqPq.png) ## Instalação Se estiver no [Arch Linux](https://www.archlinux.org), instale os pacotes `xfce4-genmon-plugin` e `newaita-icons-git`: ``` sudo pikaur -Syu newaita-icons-git xfce4-genmon-plugin ``` ## Scripts Crie as pastas necessárias: ```shell mkdir -p ~/bin/ ~/.config/xfce4/scripts/ ``` Crie o script em `~/bin/select-sinks.sh`: ```shell #!/usr/bin/env bash sink=$(pactl list short sinks | awk 'NR==1{print $2}') active=$(LANG=C pactl list sinks | awk '{if ($1 == "Active" && $2 == "Port:") {gsub(/[ \t]+$/, "", $2);print $3; exit;}}') port_one=$(LANG=C pactl list sinks | awk '/Ports/{getline;gsub(":","");gsub(/[ \t]+$/, "", $2);print $1;}') port_two=$(LANG=C pactl list sinks | awk '/Ports/{getline;getline;gsub(":","");gsub(/[ \t]+$/, "", $2);print $1;}') if [[ $port_one == *"$active"* ]]; then pacmd set-sink-port $sink $port_two exit 0 fi if [[ $port_two == *"$active"* ]]; then pacmd set-sink-port $sink $port_one exit 0 fi ``` Em seguida outro em `~/.config/xfce4/scripts/sinks.sh`: ```shell #!/usr/bin/env bash sink=$(pactl list short sinks | awk 'NR==1{print $2}') active=$(LANG=C pactl list sinks | awk '{if ($1 == "Active" && $2 == "Port:") {print $3; exit;}}') icon="/usr/share/icons/Newaita-dark/devices/22/audio-headset.svg" if [[ $active != *"headphones"* ]]; then icon="/usr/share/icons/Newaita-dark/.DP/22/speaker.svg" fi echo "<img>${icon}</img>" echo "<click>bash -c $HOME/bin/select-sink.sh</click>" ``` ## Configuração Clique com o direito na barra de tarefas do XFCE e vá em `Painel` > `Adicionar novos itens...`: ![](https://i.imgur.com/ScGNJsR.png) Selecione `Monitor genérico` e clique em `Adicionar`: ![](https://i.imgur.com/sVYxv9r.png) No novo item que será criado, clique com o botão direito e vá em `Propriedades`: ![](https://i.imgur.com/AerLgeW.png) Em `Comando` adicione o seguinte comando: ```shell bash -c "$HOME/.config/xfce4/scripts/sinks.sh" ``` Desmarque `Rótulo` e `Período(s)` deixe em `10,00` depois clique em `Salvar`: ![](https://i.imgur.com/dN7CDls.png) ## Resultado | Altofalante | Headset | | -------- | -------- | | ![](https://i.imgur.com/He0uPNz.png) | ![](https://i.imgur.com/Shx6YI0.png) | ## Ajude Se esse artigo foi útil pra você de alguma maneira(eu espero que sim :grinning:) considere doar um valor simbólico ou me patrocinar para que eu possa ajudar sempre mais. [![LiberaPay](https://img.shields.io/badge/LiberaPay-gray?logo=liberapay&logoColor=white&style=flat-square)](https://liberapay.com/sistematico/donate) [![PagSeguro](https://img.shields.io/badge/PagSeguro-gray?logo=pagseguro&logoColor=white&style=flat-square)](https://pag.ae/bfxkQW) [![ko-fi](https://img.shields.io/badge/ko--fi-gray?logo=ko-fi&logoColor=white&style=flat-square)](https://ko-fi.com/K3K32RES9) [![Buy Me a Coffee](https://img.shields.io/badge/Buy_Me_a_Coffee-gray?logo=buy-me-a-coffee&logoColor=white&style=flat-square)](https://www.buymeacoffee.com/sistematico) [![Open Collective](https://img.shields.io/badge/Open_Collective-gray?logo=opencollective&logoColor=white&style=flat-square)](https://opencollective.com/sistematico) [![Patreon](https://img.shields.io/badge/Patreon-gray?logo=patreon&logoColor=white&style=flat-square)](https://patreon.com/sistematico) ![GitHub Sponsors](https://img.shields.io/github/sponsors/sistematico?label=Github%20Sponsors)