Solución:
Encontré la solución aquí. El sonido que se reproduce es /usr/share/sounds/freedesktop/stereo/camera-shutter.oga
. Así que simplemente cambiar el nombre de ese archivo evita que se reproduzca:
sudo mv /usr/share/sounds/freedesktop/stereo/camera-shutter.oga
/usr/share/sounds/freedesktop/stereo/damn-camera-shutter.oga
Eso es todo, la próxima vez que tome una captura de pantalla, se hará en silencio.
La otra solucion1 tiene algunos inconvenientes:
– requiere acceso de root
– es un cambio global por lo que afecta a todos los usuarios
– actualización sound-theme-freedesktop
restaura el archivo
Para que conste, la forma correcta de hacerlo (y evitar todo lo anterior) es a través de un tema de sonido personalizado que inhabilita2 el archivo de sonido predeterminado utilizado por gnome-screenshot
(el nombre del archivo es screen-capture.oga
correspondiente a la screen-capture
evento – codificado en gnome-settings-daemon
y gnome-screenshot
).
Cree el directorio de temas personalizados:
mkdir -p ~/.local/share/sounds/__custom
crear el .disabled
expediente:
touch ~/.local/share/sounds/__custom/screen-capture.disabled
añade el index.theme
:
cat << 'EOF' > ~/.local/share/sounds/__custom/index.theme
[Sound Theme]
Name=__custom
Inherits=freedesktop
Directories=.
EOF
colocar __custom
como nombre de tema predeterminado:
gsettings set org.gnome.desktop.sound theme-name '__custom'
O, si está usando canela:
gsettings set org.cinnamon.desktop.sound theme-name '__custom'
y disfruta del silencio …
1: Sí, sé que en realidad es mi solución, pero en el momento de publicarlo en los foros de arco, estaba siendo vago …
2: Se utiliza un pseudo formato de archivo “.disabled” para deshabilitar sonidos en un tema que hereda de otro tema. Si los algoritmos de búsqueda de sonido detectan un archivo con el sufijo “.disabled”, finalizará inmediatamente la lógica de búsqueda y considerará que el sonido no está disponible. Todos los archivos con el sufijo “.disabled” deben tener una longitud cero.
Cambiar el nombre del archivo de sonido del obturador está bien, pero probablemente no funcionará si no tiene acceso de root al sistema. Aquí hay un enfoque alternativo:
#!/bin/bash
volume=$(amixer sget Master | awk -F '[],[,%]' '/%/{print $2 }')
amixer sset Master 0
gnome-screenshot
amixer sset Master "$volume"%
Lo que hace este script es recordar el porcentaje de volumen, establecer el volumen temporalmente en 0, tomar una captura de pantalla y una vez gnome-screenshot
sale del proceso, el volumen se restaura de nuevo al porcentaje original.
La ventaja de este enfoque es que es flexible y se puede personalizar para satisfacer sus necesidades. Este script puede estar vinculado al botón PrntScr o al acceso directo personalizado.
Probado en Ubuntu 16.04 LTS