Отрегулируйте громкость с помощью командной строки, чтобы всплывающее уведомление о громкости

Я полагаю, Ubuntu записывает данные на USB-накопитель, потому что он сохраняет выбранные конфигурации. Например, если я установлю Ubuntu на компьютер, выбрав «Португальский язык» в качестве языка, в следующий раз, когда я запустим Ubuntu с живого USB, он будет использовать «Португальский» в качестве языка по умолчанию.

Но я не знаю, где он записывает данные.

12
задан 12 November 2010 в 04:11

31 ответ

Установите пакет xdotool и попробуйте выполнить

xdotool key XF86AudioLowerVolume

и

xdotool key XF86AudioRaiseVolume
15
ответ дан 26 May 2018 в 00:28
  • 1
    Возможно, вам придется добавить это с помощью DISPLAY=:0 (или другого, если ваш дисплей отличается), чтобы пользователь lirc мог отправить его в нужное место. Не может быть. – Oli♦ 12 November 2010 в 04:59
  • 2
    Большое спасибо! Мне не нужно было устанавливать переменную DISPLAY ... – Lincoln 12 November 2010 в 05:10
  • 3
    Возможно, вам понадобится параметр --clearmodifiers после нажатия клавиши, чтобы использовать его в настройках быстрых клавиш Ubuntu. – Pablo Bianchi 18 January 2017 в 06:31
  • 4
    @Oli Да, вам понадобится это, например. изменение громкости по SSH. – wjandrea 28 September 2017 в 02:29
  • 5
    @PabloBianchi. По моему опыту, Unity перенаправляет ключи очень легко, не нужно для --clearmodifiers, однако вам определенно нужно это для xbindkeys. – wjandrea 28 September 2017 в 02:55

Это улучшенная версия скрипта htorque.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin.

#!/bin/sh # Adjust the volume, play a sound, and show a notification. # # Replacement for default Ubuntu volume adjustment behaviour. # # Based on https://askubuntu.com/a/12769/301745 command="" device="pulse" display_volume=0 icon_name="error" increment=5 mixer="Master" usage="usage: $0 [-d device] [-i increment] [-m mixer] (up|down|mute)" # For compatibility with SSH sessions. export DISPLAY=:0 _amixer(){ # amixer alias local set_get="$1" shift amixer -D "$device" "$set_get" "$mixer" "$@" } _get_display_volume(){ # grep alias grep -Pom 1 '(?<=\[)[0-9]+(?=%\])' } while getopts d:hi:m: opt; do case "$opt" in d) device="$OPTARG" ;; h) echo "$usage" exit 0 ;; i) increment="$OPTARG" ;; m) mixer="$OPTARG" ;; ?) echo "$usage" exit 1 ;; esac done shift "$(($OPTIND - 1))" command="$1" case "$command" in down) display_volume="$( _amixer set "$increment%-" unmute | _get_display_volume )" ;; mute) if _amixer get | grep -q "\[on\]"; then display_volume=0 icon_name="notification-audio-volume-muted" _amixer set mute > /dev/null else display_volume="$( _amixer set unmute | _get_display_volume )" fi ;; up) display_volume="$( _amixer set "$increment%+" unmute | _get_display_volume )" ;; *) echo "$usage" exit 1 ;; esac if [ "$icon_name" = "error" ]; then if [ "$display_volume" = "0" ]; then icon_name="notification-audio-volume-off" elif [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" elif [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi # In a subshell in the background to minimize latency. ( canberra-gtk-play --id=audio-volume-change & ) fi notify-send "Volume: $display_volume%" -i "$icon_name" -h "string:synchronous:volume" -h "int:value:$display_volume"
15
ответ дан 27 July 2018 в 01:17

Это улучшенная версия скрипта htorque.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin.

#!/bin/sh # Adjust the volume, play a sound, and show a notification. # # Replacement for default Ubuntu volume adjustment behaviour. # # Based on https://askubuntu.com/a/12769/301745 command="" device="pulse" display_volume=0 icon_name="error" increment=5 mixer="Master" usage="usage: $0 [-d device] [-i increment] [-m mixer] (up|down|mute)" # For compatibility with SSH sessions. export DISPLAY=:0 _amixer(){ # amixer alias local set_get="$1" shift amixer -D "$device" "$set_get" "$mixer" "$@" } _get_display_volume(){ # grep alias grep -Pom 1 '(?<=\[)[0-9]+(?=%\])' } while getopts d:hi:m: opt; do case "$opt" in d) device="$OPTARG" ;; h) echo "$usage" exit 0 ;; i) increment="$OPTARG" ;; m) mixer="$OPTARG" ;; ?) echo "$usage" exit 1 ;; esac done shift "$(($OPTIND - 1))" command="$1" case "$command" in down) display_volume="$( _amixer set "$increment%-" unmute | _get_display_volume )" ;; mute) if _amixer get | grep -q "\[on\]"; then display_volume=0 icon_name="notification-audio-volume-muted" _amixer set mute > /dev/null else display_volume="$( _amixer set unmute | _get_display_volume )" fi ;; up) display_volume="$( _amixer set "$increment%+" unmute | _get_display_volume )" ;; *) echo "$usage" exit 1 ;; esac if [ "$icon_name" = "error" ]; then if [ "$display_volume" = "0" ]; then icon_name="notification-audio-volume-off" elif [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" elif [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi # In a subshell in the background to minimize latency. ( canberra-gtk-play --id=audio-volume-change & ) fi notify-send "Volume: $display_volume%" -i "$icon_name" -h "string:synchronous:volume" -h "int:value:$display_volume"
15
ответ дан 31 July 2018 в 10:44

Это улучшенная версия скрипта htorque.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin.

#!/bin/sh # Adjust the volume, play a sound, and show a notification. # # Replacement for default Ubuntu volume adjustment behaviour. # # Based on https://askubuntu.com/a/12769/301745 command="" device="pulse" display_volume=0 icon_name="error" increment=5 mixer="Master" usage="usage: $0 [-d device] [-i increment] [-m mixer] (up|down|mute)" # For compatibility with SSH sessions. export DISPLAY=:0 _amixer(){ # amixer alias local set_get="$1" shift amixer -D "$device" "$set_get" "$mixer" "$@" } _get_display_volume(){ # grep alias grep -Pom 1 '(?<=\[)[0-9]+(?=%\])' } while getopts d:hi:m: opt; do case "$opt" in d) device="$OPTARG" ;; h) echo "$usage" exit 0 ;; i) increment="$OPTARG" ;; m) mixer="$OPTARG" ;; ?) echo "$usage" exit 1 ;; esac done shift "$(($OPTIND - 1))" command="$1" case "$command" in down) display_volume="$( _amixer set "$increment%-" unmute | _get_display_volume )" ;; mute) if _amixer get | grep -q "\[on\]"; then display_volume=0 icon_name="notification-audio-volume-muted" _amixer set mute > /dev/null else display_volume="$( _amixer set unmute | _get_display_volume )" fi ;; up) display_volume="$( _amixer set "$increment%+" unmute | _get_display_volume )" ;; *) echo "$usage" exit 1 ;; esac if [ "$icon_name" = "error" ]; then if [ "$display_volume" = "0" ]; then icon_name="notification-audio-volume-off" elif [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" elif [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi # In a subshell in the background to minimize latency. ( canberra-gtk-play --id=audio-volume-change & ) fi notify-send "Volume: $display_volume%" -i "$icon_name" -h "string:synchronous:volume" -h "int:value:$display_volume"
15
ответ дан 2 August 2018 в 04:17

Это улучшенная версия скрипта htorque отправлена ​​.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin .

  #! / Bin / sh # Adjust  громкость, воспроизведение звука и отображение уведомлений.  # # Замена по умолчанию для регулировки громкости Ubuntu.  # # На основании https://askubuntu.com/a/12769/301745 command = "" device = "pulse" display_volume = 0 icon_name = "error" increment = 5 mixer = "Master" usage = "use: $ 0 [-  d device] [-i increment] [-m mixer] (up | down | mute) "# Для совместимости с сеансами SSH.  export DISPLAY =: 0 _amixer () {# amixer alias local set_get = "$ 1" shift amixer -D "$ device" "$ set_get" "$ mixer" "$ @"} _get_display_volume () {# grep alias grep -Pom 1  '(? & lt; = \ [) [0-9] + (? =% \])'}, а getopts d: hi: m: opt;  do case "$ opt" в d) device = "$ OPTARG" ;;  h) выход echo «$ usage» 0 ;;  i) increment = "$ OPTARG" ;;  m) mixer = "$ OPTARG" ;;  ?) echo "$ usage" exit 1 ;;  esac done shift "$ (($ OPTIND - 1))" command = "$ 1" case "$ command" в down) display_volume = "$ (_amixer set" $ increment% - "unmute | _get_display_volume" ";;  немой), если _amixer get |  grep -q "\ [on \]";  затем display_volume = 0 icon_name = "notification-audio-volume-muted" _mixer set mute & gt;  / dev / null else display_volume = "$ (_amixer set unmute | _get_display_volume)" fi ;;  up) display_volume = "$ (_amixer set" $ increment% + "unmute | _get_display_volume)" ;;  *) echo "$ usage" exit 1 ;;  esac if ["$ icon_name" = "error"];  тогда если ["$ display_volume" = "0"];  затем icon_name = "notification-audio-volume-off" elif ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" elif ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi # В подоболочке в фоновом режиме, чтобы минимизировать задержку.  (canberra-gtk-play --id = изменение громкости звука & amp;) fi notify-send "Volume: $ display_volume%" -i "$ icon_name" -h "string: synchronous: volume" -h "int: значение  : $ display_volume " 
15
ответ дан 6 August 2018 в 04:22

Это улучшенная версия скрипта htorque отправлена ​​.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin .

  #! / Bin / sh # Adjust  громкость, воспроизведение звука и отображение уведомлений.  # # Замена по умолчанию для регулировки громкости Ubuntu.  # # На основании https://askubuntu.com/a/12769/301745 command = "" device = "pulse" display_volume = 0 icon_name = "error" increment = 5 mixer = "Master" usage = "use: $ 0 [-  d device] [-i increment] [-m mixer] (up | down | mute) "# Для совместимости с сеансами SSH.  export DISPLAY =: 0 _amixer () {# amixer alias local set_get = "$ 1" shift amixer -D "$ device" "$ set_get" "$ mixer" "$ @"} _get_display_volume () {# grep alias grep -Pom 1  '(? & lt; = \ [) [0-9] + (? =% \])'}, а getopts d: hi: m: opt;  do case "$ opt" в d) device = "$ OPTARG" ;;  h) выход echo «$ usage» 0 ;;  i) increment = "$ OPTARG" ;;  m) mixer = "$ OPTARG" ;;  ?) echo "$ usage" exit 1 ;;  esac done shift "$ (($ OPTIND - 1))" command = "$ 1" case "$ command" в down) display_volume = "$ (_amixer set" $ increment% - "unmute | _get_display_volume" ";;  немой), если _amixer get |  grep -q "\ [on \]";  затем display_volume = 0 icon_name = "notification-audio-volume-muted" _mixer set mute & gt;  / dev / null else display_volume = "$ (_amixer set unmute | _get_display_volume)" fi ;;  up) display_volume = "$ (_amixer set" $ increment% + "unmute | _get_display_volume)" ;;  *) echo "$ usage" exit 1 ;;  esac if ["$ icon_name" = "error"];  тогда если ["$ display_volume" = "0"];  затем icon_name = "notification-audio-volume-off" elif ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" elif ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi # В подоболочке в фоновом режиме, чтобы минимизировать задержку.  (canberra-gtk-play --id = изменение громкости звука & amp;) fi notify-send "Volume: $ display_volume%" -i "$ icon_name" -h "string: synchronous: volume" -h "int: значение  : $ display_volume " 
15
ответ дан 7 August 2018 в 22:28

Это улучшенная версия скрипта htorque отправлена ​​.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin .

  #! / Bin / sh # Adjust  громкость, воспроизведение звука и отображение уведомлений.  # # Замена по умолчанию для регулировки громкости Ubuntu.  # # На основании https://askubuntu.com/a/12769/301745 command = "" device = "pulse" display_volume = 0 icon_name = "error" increment = 5 mixer = "Master" usage = "use: $ 0 [-  d device] [-i increment] [-m mixer] (up | down | mute) "# Для совместимости с сеансами SSH.  export DISPLAY =: 0 _amixer () {# amixer alias local set_get = "$ 1" shift amixer -D "$ device" "$ set_get" "$ mixer" "$ @"} _get_display_volume () {# grep alias grep -Pom 1  '(? & lt; = \ [) [0-9] + (? =% \])'}, а getopts d: hi: m: opt;  do case "$ opt" в d) device = "$ OPTARG" ;;  h) выход echo «$ usage» 0 ;;  i) increment = "$ OPTARG" ;;  m) mixer = "$ OPTARG" ;;  ?) echo "$ usage" exit 1 ;;  esac done shift "$ (($ OPTIND - 1))" command = "$ 1" case "$ command" в down) display_volume = "$ (_amixer set" $ increment% - "unmute | _get_display_volume" ";;  немой), если _amixer get |  grep -q "\ [on \]";  затем display_volume = 0 icon_name = "notification-audio-volume-muted" _mixer set mute & gt;  / dev / null else display_volume = "$ (_amixer set unmute | _get_display_volume)" fi ;;  up) display_volume = "$ (_amixer set" $ increment% + "unmute | _get_display_volume)" ;;  *) echo "$ usage" exit 1 ;;  esac if ["$ icon_name" = "error"];  тогда если ["$ display_volume" = "0"];  затем icon_name = "notification-audio-volume-off" elif ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" elif ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi # В подоболочке в фоновом режиме, чтобы минимизировать задержку.  (canberra-gtk-play --id = изменение громкости звука & amp;) fi notify-send "Volume: $ display_volume%" -i "$ icon_name" -h "string: synchronous: volume" -h "int: значение  : $ display_volume " 
15
ответ дан 10 August 2018 в 10:37

Это улучшенная версия скрипта htorque отправлена ​​.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin .

  #! / Bin / sh # Adjust  громкость, воспроизведение звука и отображение уведомлений.  # # Замена по умолчанию для регулировки громкости Ubuntu.  # # На основании https://askubuntu.com/a/12769/301745 command = "" device = "pulse" display_volume = 0 icon_name = "error" increment = 5 mixer = "Master" usage = "use: $ 0 [-  d device] [-i increment] [-m mixer] (up | down | mute) "# Для совместимости с сеансами SSH.  export DISPLAY =: 0 _amixer () {# amixer alias local set_get = "$ 1" shift amixer -D "$ device" "$ set_get" "$ mixer" "$ @"} _get_display_volume () {# grep alias grep -Pom 1  '(? & lt; = \ [) [0-9] + (? =% \])'}, а getopts d: hi: m: opt;  do case "$ opt" в d) device = "$ OPTARG" ;;  h) выход echo «$ usage» 0 ;;  i) increment = "$ OPTARG" ;;  m) mixer = "$ OPTARG" ;;  ?) echo "$ usage" exit 1 ;;  esac done shift "$ (($ OPTIND - 1))" command = "$ 1" case "$ command" в down) display_volume = "$ (_amixer set" $ increment% - "unmute | _get_display_volume" ";;  немой), если _amixer get |  grep -q "\ [on \]";  затем display_volume = 0 icon_name = "notification-audio-volume-muted" _mixer set mute & gt;  / dev / null else display_volume = "$ (_amixer set unmute | _get_display_volume)" fi ;;  up) display_volume = "$ (_amixer set" $ increment% + "unmute | _get_display_volume)" ;;  *) echo "$ usage" exit 1 ;;  esac if ["$ icon_name" = "error"];  тогда если ["$ display_volume" = "0"];  затем icon_name = "notification-audio-volume-off" elif ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" elif ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi # В подоболочке в фоновом режиме, чтобы минимизировать задержку.  (canberra-gtk-play --id = изменение громкости звука & amp;) fi notify-send "Volume: $ display_volume%" -i "$ icon_name" -h "string: synchronous: volume" -h "int: значение  : $ display_volume " 
15
ответ дан 13 August 2018 в 17:08
  • 1
    Возможно, вам придется добавить это с помощью DISPLAY =: 0 (или другое, если ваш дисплей отличается), чтобы пользователь lirc мог отправить его в нужное место. Не может быть. – Oli♦ 12 November 2010 в 04:59
  • 2
    Большое спасибо! Мне не нужно было устанавливать переменную DISPLAY ... – Lincoln 12 November 2010 в 05:10
  • 3
    Возможно, вам понадобится параметр - clearmodifiers после нажатия клавиши, чтобы использовать его в настройках быстрых клавиш Ubuntu. – Pablo Bianchi 18 January 2017 в 06:31
  • 4
    @Oli Да, вам понадобится это, например. изменение громкости по SSH. – wjandrea 28 September 2017 в 02:29
  • 5
    @PabloBianchi. По моему опыту, Unity переставляет ключи очень легко, не нужно для - clearmodifiers , однако вам определенно нужно это для xbindkeys. – wjandrea 28 September 2017 в 02:55

Вы можете связать ярлык с этим скриптом, который я нашел в форумах Arch (требуется пакет libnotify-bin ):

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]" command = increment = 5% mixer = Master while getopts i: m: ho  сделать случай «$ o» в i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done shift $ (($ OPTIND - 1)) command = $ 1, если ["$ command" = ""];  then echo "use: $ 0 {up | down | mute} [increment]" exit 0;  fi display_volume = 0, если ["$ command" = "up"];  затем display_volume = $ (amixer set $ mixer $ increment + unmute | grep -m 1 "%]" | cut -d "[" -f2 | cut -d "%" -f1) fi if ["$ command" = "down  "];  затем display_volume = $ (amixer set $ mixer $ increment-unmute | grep -m 1 "%]" | cut -d "[" -f2 | cut -d "%" -f1) fi icon_name = "", если ["$  command "=" mute "];  тогда, если amixer получит Мастер |  grep "\ [on \]";  затем display_volume = 0 icon_name = "уведомление-звук-объем-приглушенный" amixer set $ mixer mute else display_volume = $ (amixer set $ mixer unmute | grep -m 1 "%]" | cut -d "[" -f2 | cut  -d "%" -f1) fi fi, если ["$ icon_name" = ""];  тогда если ["$ display_volume" = "0"];  затем icon_name = "notification-audio-volume-off" elif ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" elif ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi notify-send "" -i $ icon_name -h int: значение: $ display_volume -h строка: synchronous: volume   

Кажется хорошо работать в Ubuntu 10.10.

15
ответ дан 15 August 2018 в 23:45
  • 1
    Возможно, вам придется добавить это с помощью DISPLAY =: 0 (или другое, если ваш дисплей отличается), чтобы пользователь lirc мог отправить его в нужное место. Не может быть. – Oli♦ 12 November 2010 в 04:59
  • 2
    Большое спасибо! Мне не нужно было устанавливать переменную DISPLAY ... – Lincoln 12 November 2010 в 05:10
  • 3
    Возможно, вам понадобится параметр - clearmodifiers после нажатия клавиши, чтобы использовать его в настройках быстрых клавиш Ubuntu. – Pablo Bianchi 18 January 2017 в 06:31
  • 4
    @Oli Да, вам понадобится это, например. изменение громкости по SSH. – wjandrea 28 September 2017 в 02:29
  • 5
    @PabloBianchi. По моему опыту, Unity переставляет ключи очень легко, не нужно для - clearmodifiers , однако вам определенно нужно это для xbindkeys. – wjandrea 28 September 2017 в 02:55

Установите пакет xdotool и попробуйте выдавать

  ключ xdotool XF86AudioLowerVolume  

и

   xdotool ключ XF86AudioRaiseVolume  
15
ответ дан 19 August 2018 в 02:09
  • 1
    Возможно, вам придется добавить это с помощью DISPLAY =: 0 (или другое, если ваш дисплей отличается), чтобы пользователь lirc мог отправить его в нужное место. Не может быть. – Oli♦ 12 November 2010 в 04:59
  • 2
    Большое спасибо! Мне не нужно было устанавливать переменную DISPLAY ... – Lincoln 12 November 2010 в 05:10
  • 3
    Возможно, вам понадобится параметр - clearmodifiers после нажатия клавиши, чтобы использовать его в настройках быстрых клавиш Ubuntu. – Pablo Bianchi 18 January 2017 в 06:31
  • 4
    @Oli Да, вам понадобится это, например. изменение громкости по SSH. – wjandrea 28 September 2017 в 02:29
  • 5
    @PabloBianchi. По моему опыту, Unity переставляет ключи очень легко, не нужно для - clearmodifiers , однако вам определенно нужно это для xbindkeys. – wjandrea 28 September 2017 в 02:55

Вы можете связать ярлык с этим скриптом, который я нашел в форумах Arch (требуется пакет libnotify-bin):

#!/bin/sh

usage="usage: $0 -c {up|down|mute} [-i increment] [-m mixer]"
command=
increment=5%
mixer=Master

while getopts i:m:h o
do case "$o" in
    i) increment=$OPTARG;;
    m) mixer=$OPTARG;;
    h) echo "$usage"; exit 0;;
    ?) echo "$usage"; exit 0;;
esac
done

shift $(($OPTIND - 1))
command=$1

if [ "$command" = "" ]; then
    echo "usage: $0 {up|down|mute} [increment]"
    exit 0;
fi

display_volume=0

if [ "$command" = "up" ]; then
    display_volume=$(amixer set $mixer $increment+ unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

if [ "$command" = "down" ]; then
    display_volume=$(amixer set $mixer $increment- unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

icon_name=""

if [ "$command" = "mute" ]; then
    if amixer get Master | grep "\[on\]"; then
        display_volume=0
        icon_name="notification-audio-volume-muted"
        amixer set $mixer mute
    else
        display_volume=$(amixer set $mixer unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
    fi
fi

if [ "$icon_name" = "" ]; then
    if [ "$display_volume" = "0" ]; then
        icon_name="notification-audio-volume-off"
    elif [ "$display_volume" -lt "33" ]; then
        icon_name="notification-audio-volume-low"
    elif [ "$display_volume" -lt "67" ]; then
        icon_name="notification-audio-volume-medium"
    else
        icon_name="notification-audio-volume-high"
    fi
fi
notify-send " " -i $icon_name -h int:value:$display_volume -h string:synchronous:volume

Кажется хорошо работать в Ubuntu 10.10.

4
ответ дан 26 May 2018 в 00:28

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

amixer set 'Master' 50%
amixer set 'Master' 10%+
amixer set 'Master' 2dB-

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer.

Воспроизвести звук

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay, например

paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

Возможно, вы захотите посмотреть на этот вопрос: man amixer

Отобразить экранное уведомление

Вы можете воспроизвести на экранном уведомлении, используя библиотеку X X-OS X-Screen Display. Пакет называется xosd-bin, а команда osd_cat используется для отображения на экране текста, столбцов состояния и т. Д.

osd_cat -b percentage -P 20 -T Status: -f "-adobe-helvetica-bold-*-*--34-*-*-*-*"

отображает

Подробнее см. для опций и примеров и man osd_cat.

1
ответ дан 26 May 2018 в 00:28

Я установил xmacro и добавил следующие строки в .lircrc:

begin
        prog = irexec
        button = KEY_VOLUMEUP
        repeat = 1
        delay = 2
        config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = KEY_VOLUMEDOWN
        repeat = 1
        delay = 2
        config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY
end
begin
        prog = irexec
        button = KEY_MUTE
        config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY
end
0
ответ дан 26 May 2018 в 00:28

Это улучшенная версия скрипта htorque.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin.

#!/bin/sh
# Adjust the volume, play a sound, and show a notification.
#
# Replacement for default Ubuntu volume adjustment behaviour.
#
# Based on https://askubuntu.com/a/12769/301745

command=""
device="pulse"
display_volume=0
icon_name="error"
increment=5
mixer="Master"
usage="usage: $0 [-d device] [-i increment] [-m mixer] (up|down|mute)"

# For compatibility with SSH sessions.
export DISPLAY=:0

_amixer(){
    # amixer alias
    local set_get="$1"
    shift
    amixer -D "$device" "$set_get" "$mixer" "$@"
}

_get_display_volume(){
    # grep alias
    grep -Pom 1 '(?<=\[)[0-9]+(?=%\])'
}

while getopts d:hi:m: opt; do
    case "$opt" in
        d)
            device="$OPTARG"
            ;;
        h)
            echo "$usage"
            exit 0
            ;;
        i)
            increment="$OPTARG"
            ;;
        m)
            mixer="$OPTARG"
            ;;
        ?)
            echo "$usage"
            exit 1
            ;;
    esac
done

shift "$(($OPTIND - 1))"
command="$1"

case "$command" in
    down)
        display_volume="$(
            _amixer set "$increment%-" unmute |
                _get_display_volume
            )"
        ;;
    mute)
        if _amixer get | grep -q "\[on\]"; then
            display_volume=0
            icon_name="notification-audio-volume-muted"
            _amixer set mute > /dev/null
        else
            display_volume="$(
                _amixer set unmute |
                    _get_display_volume
                )"
        fi
        ;;
    up)
        display_volume="$(
            _amixer set "$increment%+" unmute |
                _get_display_volume
            )"
        ;;
    *)
        echo "$usage"
        exit 1
        ;;
esac

if [ "$icon_name" = "error" ]; then
    if [ "$display_volume" = "0" ]; then
        icon_name="notification-audio-volume-off"
    elif [ "$display_volume" -lt "33" ]; then
        icon_name="notification-audio-volume-low"
    elif [ "$display_volume" -lt "67" ]; then
        icon_name="notification-audio-volume-medium"
    else
        icon_name="notification-audio-volume-high"
    fi

    # In a subshell in the background to minimize latency.
    ( canberra-gtk-play --id=audio-volume-change & )
fi

notify-send "Volume: $display_volume%" -i "$icon_name" -h "string:synchronous:volume" -h "int:value:$display_volume"
0
ответ дан 26 May 2018 в 00:28

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

amixer set 'Master' 50% amixer set 'Master' 10%+ amixer set 'Master' 2dB-

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer.

Воспроизвести звук

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay, например

paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

Возможно, вы захотите посмотреть на этот вопрос: man amixer

Отобразить экранное уведомление

Вы можете воспроизвести на экранном уведомлении, используя библиотеку X X-OS X-Screen Display. Пакет называется xosd-bin, а команда osd_cat используется для отображения на экране текста, столбцов состояния и т. Д.

osd_cat -b percentage -P 20 -T Status: -f "-adobe-helvetica-bold-*-*--34-*-*-*-*"

отображает

Подробнее см. для опций и примеров и man osd_cat.

1
ответ дан 25 July 2018 в 22:54

Я установил xmacro и добавил следующие строки в .lircrc:

begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY end
0
ответ дан 25 July 2018 в 22:54

Это улучшенная версия скрипта htorque.

Это работает для меня 14.04. Дайте мне знать, если он работает с 16.04 или новее.

Он требует установки libnotify-bin.

#!/bin/sh # Adjust the volume, play a sound, and show a notification. # # Replacement for default Ubuntu volume adjustment behaviour. # # Based on https://askubuntu.com/a/12769/301745 command="" device="pulse" display_volume=0 icon_name="error" increment=5 mixer="Master" usage="usage: $0 [-d device] [-i increment] [-m mixer] (up|down|mute)" # For compatibility with SSH sessions. export DISPLAY=:0 _amixer(){ # amixer alias local set_get="$1" shift amixer -D "$device" "$set_get" "$mixer" "$@" } _get_display_volume(){ # grep alias grep -Pom 1 '(?<=\[)[0-9]+(?=%\])' } while getopts d:hi:m: opt; do case "$opt" in d) device="$OPTARG" ;; h) echo "$usage" exit 0 ;; i) increment="$OPTARG" ;; m) mixer="$OPTARG" ;; ?) echo "$usage" exit 1 ;; esac done shift "$(($OPTIND - 1))" command="$1" case "$command" in down) display_volume="$( _amixer set "$increment%-" unmute | _get_display_volume )" ;; mute) if _amixer get | grep -q "\[on\]"; then display_volume=0 icon_name="notification-audio-volume-muted" _amixer set mute > /dev/null else display_volume="$( _amixer set unmute | _get_display_volume )" fi ;; up) display_volume="$( _amixer set "$increment%+" unmute | _get_display_volume )" ;; *) echo "$usage" exit 1 ;; esac if [ "$icon_name" = "error" ]; then if [ "$display_volume" = "0" ]; then icon_name="notification-audio-volume-off" elif [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" elif [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi # In a subshell in the background to minimize latency. ( canberra-gtk-play --id=audio-volume-change & ) fi notify-send "Volume: $display_volume%" -i "$icon_name" -h "string:synchronous:volume" -h "int:value:$display_volume"
0
ответ дан 25 July 2018 в 22:54
  • 1
    Возможно, вам придется добавить это с помощью DISPLAY=:0 (или другого, если ваш дисплей отличается), чтобы пользователь lirc мог отправить его в нужное место. Не может быть. – Oli♦ 12 November 2010 в 04:59
  • 2
    Большое спасибо! Мне не нужно было устанавливать переменную DISPLAY ... – Lincoln 12 November 2010 в 05:10
  • 3
    Возможно, вам понадобится параметр --clearmodifiers после нажатия клавиши, чтобы использовать его в настройках быстрых клавиш Ubuntu. – Pablo Bianchi 18 January 2017 в 06:31
  • 4
    @Oli Да, вам понадобится это, например. изменение громкости по SSH. – wjandrea 28 September 2017 в 02:29
  • 5
    @PabloBianchi. По моему опыту, Unity перенаправляет ключи очень легко, не нужно для --clearmodifiers, однако вам определенно нужно это для xbindkeys. – wjandrea 28 September 2017 в 02:55

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

amixer set 'Master' 50% amixer set 'Master' 10%+ amixer set 'Master' 2dB-

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer.

Воспроизвести звук

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay, например

paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

Возможно, вы захотите посмотреть на этот вопрос: man amixer

Отобразить экранное уведомление

Вы можете воспроизвести на экранном уведомлении, используя библиотеку X X-OS X-Screen Display. Пакет называется xosd-bin, а команда osd_cat используется для отображения на экране текста, столбцов состояния и т. Д.

osd_cat -b percentage -P 20 -T Status: -f "-adobe-helvetica-bold-*-*--34-*-*-*-*"

отображает

Подробнее см. для опций и примеров и man osd_cat.

1
ответ дан 27 July 2018 в 01:17

Я установил xmacro и добавил следующие строки в .lircrc:

begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY end
0
ответ дан 27 July 2018 в 01:17

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

amixer set 'Master' 50% amixer set 'Master' 10%+ amixer set 'Master' 2dB-

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer.

Воспроизвести звук

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay, например

paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

Возможно, вы захотите посмотреть на этот вопрос: man amixer

Отобразить экранное уведомление

Вы можете воспроизвести на экранном уведомлении, используя библиотеку X X-OS X-Screen Display. Пакет называется xosd-bin, а команда osd_cat используется для отображения на экране текста, столбцов состояния и т. Д.

osd_cat -b percentage -P 20 -T Status: -f "-adobe-helvetica-bold-*-*--34-*-*-*-*"

отображает

Подробнее см. для опций и примеров и man osd_cat.

1
ответ дан 31 July 2018 в 10:44

Я установил xmacro и добавил следующие строки в .lircrc:

begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY end
0
ответ дан 31 July 2018 в 10:44

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

amixer set 'Master' 50% amixer set 'Master' 10%+ amixer set 'Master' 2dB-

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer.

Воспроизвести звук

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay, например

paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

Возможно, вы захотите посмотреть на этот вопрос: man amixer

Отобразить экранное уведомление

Вы можете воспроизвести на экранном уведомлении, используя библиотеку X X-OS X-Screen Display. Пакет называется xosd-bin, а команда osd_cat используется для отображения на экране текста, столбцов состояния и т. Д.

osd_cat -b percentage -P 20 -T Status: -f "-adobe-helvetica-bold-*-*--34-*-*-*-*"

отображает

Подробнее см. для опций и примеров и man osd_cat.

1
ответ дан 2 August 2018 в 04:17

Я установил xmacro и добавил следующие строки в .lircrc:

begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY end begin prog = irexec button = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY end
0
ответ дан 2 August 2018 в 04:17

Я установил xmacro и добавил следующие строки в .lircrc :

  begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease  XF86AudioRaiseVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute |  xmacroplay $ DISPLAY end  
0
ответ дан 6 August 2018 в 04:22

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

  набор амиксеров «Master» 50% -ный набор усилителей  «Мастер» 10% + набор амиксеров «Мастер» 2dB-  

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer .

Play Sound

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay , например

  paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga  

Возможно, вы захотите посмотреть на этот вопрос: Где я могу найти системные звуки?

Отображать экранное уведомление

Вы можете воспроизвести экранное уведомление с помощью X XDD-библиотеки X-Screen Display. Пакет называется xosd-bin , а команда osd_cat используется для отображения на экране текста, строк состояния и т. Д.

  osd_cat  -b% -P 20 -T Статус: -f "-adobe-helvetica-bold - * - * - 34 - * - * - * - *"  

отображает

См. эту немецкую wiki-страницу для опций и примеров и man osd_cat для более.

1
ответ дан 6 August 2018 в 04:22

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

  набор амиксеров «Master» 50% -ный набор усилителей  «Мастер» 10% + набор амиксеров «Мастер» 2dB-  

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer .

Play Sound

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay , например

  paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga  

Возможно, вы захотите посмотреть на этот вопрос: Где я могу найти системные звуки?

Отображать экранное уведомление

Вы можете воспроизвести экранное уведомление с помощью X XDD-библиотеки X-Screen Display. Пакет называется xosd-bin , а команда osd_cat используется для отображения на экране текста, строк состояния и т. Д.

  osd_cat  -b% -P 20 -T Статус: -f "-adobe-helvetica-bold - * - * - 34 - * - * - * - *"  

отображает

См. эту немецкую wiki-страницу для опций и примеров и man osd_cat для более.

1
ответ дан 7 August 2018 в 22:28

Я установил xmacro и добавил следующие строки в .lircrc :

  begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease  XF86AudioRaiseVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute |  xmacroplay $ DISPLAY end  
0
ответ дан 7 August 2018 в 22:28

Я установил xmacro и добавил следующие строки в .lircrc :

  begin prog = irexec button = KEY_VOLUMEUP repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease  XF86AudioRaiseVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_VOLUMEDOWN repeat = 1 delay = 2 config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume |  xmacroplay $ DISPLAY end begin prog = кнопка irexec = KEY_MUTE config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute |  xmacroplay $ DISPLAY end  
0
ответ дан 10 August 2018 в 10:37

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

  набор амиксеров «Master» 50% -ный набор усилителей  «Мастер» 10% + набор амиксеров «Мастер» 2dB-  

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer .

Play Sound

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay , например

  paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga  

Возможно, вы захотите посмотреть на этот вопрос: Где я могу найти системные звуки?

Отображать экранное уведомление

Вы можете воспроизвести экранное уведомление с помощью X XDD-библиотеки X-Screen Display. Пакет называется xosd-bin , а команда osd_cat используется для отображения на экране текста, строк состояния и т. Д.

  osd_cat  -b% -P 20 -T Статус: -f "-adobe-helvetica-bold - * - * - 34 - * - * - * - *"  

отображает

См. эту немецкую wiki-страницу для опций и примеров и man osd_cat для более.

1
ответ дан 10 August 2018 в 10:37

Регулировка громкости звука

Вы можете использовать amixer для управления громкостью звука, например

  набор амиксеров «Master» 50% -ный набор усилителей  «Мастер» 10% + набор амиксеров «Мастер» 2dB-  

Возможно, вам потребуется установить звуковую карту, используя, например, -c 1 для второй звуковой карты, см. man amixer .

Play Sound

Звуки могут воспроизводиться с помощью проигрывателя, такого как aplay или paplay , например

  paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga  

Возможно, вы захотите посмотреть на этот вопрос: Где я могу найти системные звуки?

Отображать экранное уведомление

Вы можете воспроизвести экранное уведомление с помощью X XDD-библиотеки X-Screen Display. Пакет называется xosd-bin , а команда osd_cat используется для отображения на экране текста, строк состояния и т. Д.

  osd_cat  -b% -P 20 -T Статус: -f "-adobe-helvetica-bold - * - * - 34 - * - * - * - *"  

отображает

См. эту немецкую wiki-страницу для опций и примеров и man osd_cat для более.

1
ответ дан 13 August 2018 в 17:08

Другие вопросы по тегам:

Похожие вопросы: