Fazer algo na GUI, em geral, não invoca comandos shell. Acontece às vezes, mas é incomum. Em vez disso, tanto a GUI quanto os programas de linha de comando (incluindo shells) chamam as mesmas interfaces de programação subjacentes.
Se você quiser entender como um programa faz algo, verifique sua documentação ou seu código-fonte. Você pode tentar observá-lo, mas pode ser difícil descobrir.
No Linux, o programa strace lista os ps xww ), digamos 1234, e execute
strace -p1234 -o widget.strace
Execute a ação que você quer observar, então mate strace ( Ctrl + C no terminal). Olhe para o arquivo de saída e tente descobrir. Você verá muita comunicação com o servidor X ( read
e write
chama uma descrição específica de arquivo ) devido às ações da GUI. Se a ação for executada pelo servidor X, você precisará analisar esse protocolo ainda mais. Você também pode observar chamadas remotas via D-Bus ; Para entender isso, execute dbus-monitor
para obter um rastreio legível do tráfego do D-Bus. Caso contrário, observe o que mais o programa está fazendo.
O som no Ubuntu normalmente passa pelo Pulseaudio . O aplicativo usa o D-Bus para se comunicar com o servidor Pulseaudio. O Pulseaudio tem uma interface de linha de comando com programas cujo nome começa com pa
, incluindo pavucontrol
para controlar o volume.