Как показать уровень громкости при изменении громкости звука с помощью пользовательских ярлыков. [dубликат]

Когда я нажимаю клавиши увеличения / уменьшения громкости на моей клавиатуре, громкость изменяется слишком сильно. Как уменьшить размер шага, чтобы у меня было более точное управление?

50
задан 31 October 2010 в 08:24

74 ответа

11.10 / 12.04

Из этого отчета об ошибке появляется, что ключ шага объема исчез в 11.10 и еще не появился (пока).

Таким образом, нет простое простое изменение конфигурации, которое вы можете сделать, чтобы уменьшить шаг объема.

Сообщение № 18 в ссылке дает интересное обходное решение, которое включает в себя использование возможности alsamixer увеличения и уменьшения, а также отправки уведомлений на рабочий стол.

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С помощью этого решения шаг по умолчанию будет уменьшен до двухзначного, проценты шагов

Как

Установите пакет xbindkeys (используя Synaptic или с sudo apt-get install xbindkeys).

Используя ваш любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. Е.

gedit ~/.volumeHack.sh

Запустите chmod a+x .volumeHack.sh, чтобы сделать его исполняемым.

Затем отредактируйте файл ~/.xbindkeysrc и скопируйте & amp; вставьте текст ниже в нижней части этого файла. то есть

gedit ~/.xbindkeysrc

Выход из системы и вход в систему

.xbindkeysrc

# Increase volume #"amixer set Master playback 1+" "sh ~/.volumeHack.sh -c up -i 2% -m Master" m:0x0 + c:123 XF86AudioRaiseVolume # Decrease volume "sh ~/.volumeHack.sh -c down -i 2% -m Master" m:0x0 + c:122 XF86AudioLowerVolume # Toggle mute - this is not used here #"amixer set Master toggle" # m:0x0 + c:121 # XF86AudioMute

.volumeHack.sh

#!/bin/sh usage="usage: $0 -c {up|down|mute} [-i increment] [-m mixer]" command= increment=5% mixer=Master while getopts c:i:m:h o do case "$o" in c) command=$OPTARG;; i) increment=$OPTARG;; m) mixer=$OPTARG;; h) echo "$usage"; exit 0;; ?) echo "$usage"; exit 0;; esac done #echo "command:$command" #echo "increment:$increment" #echo "mixer:$mixer" if [ "$command" = "" ]; then shift $(($OPTIND - 1)) command=$1 exit 0; fi 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" else if [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" else if [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi fi fi fi notify-send " " -i $icon_name -h int:value:$display_volume -h string:synchronous:volume #echo "icon: $icon_name and $display_volume"
11
ответ дан 17 July 2018 в 21:18

11.10 / 12.04

Из этого отчета об ошибке появляется, что ключ шага объема исчез в 11.10 и еще не появился (пока).

Таким образом, нет простое простое изменение конфигурации, которое вы можете сделать, чтобы уменьшить шаг объема.

Сообщение № 18 в ссылке дает интересное обходное решение, которое включает в себя использование возможности alsamixer увеличения и уменьшения, а также отправки уведомлений на рабочий стол.

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С помощью этого решения шаг по умолчанию будет уменьшен до двухзначного, проценты шагов

Как

Установите пакет xbindkeys (используя Synaptic или с sudo apt-get install xbindkeys).

Используя ваш любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. Е.

gedit ~/.volumeHack.sh

Запустите chmod a+x .volumeHack.sh, чтобы сделать его исполняемым.

Затем отредактируйте файл ~/.xbindkeysrc и скопируйте & amp; вставьте текст ниже в нижней части этого файла. то есть

gedit ~/.xbindkeysrc

Выход из системы и вход в систему

.xbindkeysrc

# Increase volume #"amixer set Master playback 1+" "sh ~/.volumeHack.sh -c up -i 2% -m Master" m:0x0 + c:123 XF86AudioRaiseVolume # Decrease volume "sh ~/.volumeHack.sh -c down -i 2% -m Master" m:0x0 + c:122 XF86AudioLowerVolume # Toggle mute - this is not used here #"amixer set Master toggle" # m:0x0 + c:121 # XF86AudioMute

.volumeHack.sh

#!/bin/sh usage="usage: $0 -c {up|down|mute} [-i increment] [-m mixer]" command= increment=5% mixer=Master while getopts c:i:m:h o do case "$o" in c) command=$OPTARG;; i) increment=$OPTARG;; m) mixer=$OPTARG;; h) echo "$usage"; exit 0;; ?) echo "$usage"; exit 0;; esac done #echo "command:$command" #echo "increment:$increment" #echo "mixer:$mixer" if [ "$command" = "" ]; then shift $(($OPTIND - 1)) command=$1 exit 0; fi 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" else if [ "$display_volume" -lt "33" ]; then icon_name="notification-audio-volume-low" else if [ "$display_volume" -lt "67" ]; then icon_name="notification-audio-volume-medium" else icon_name="notification-audio-volume-high" fi fi fi fi notify-send " " -i $icon_name -h int:value:$display_volume -h string:synchronous:volume #echo "icon: $icon_name and $display_volume"
11
ответ дан 23 July 2018 в 21:57

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 31 July 2018 в 19:29

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 2 August 2018 в 12:32

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 3 August 2018 в 16:53

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 5 August 2018 в 02:13

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 6 August 2018 в 18:53

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 8 August 2018 в 23:15

11.10 / 12.04

Из этого отчета об ошибке появляется ключ шага объема, который исчез в 11.10 и еще не появился (пока).

] Таким образом, нет простого простого изменения конфигурации, которое вы можете сделать для уменьшения шага громкости.

Сообщение № 18 в ссылке дает интересное обходное решение, которое предполагает использование alsamixer (! d17)

Однако я не мог заставить его работать, поэтому мое решение основано на этом сообщении.

С этим


Как

Установите пакет xbindkeys (используя Synaptic, или с помощью sudo apt-get install xbindkeys ).

Используя свой любимый текстовый редактор, создайте файл в домашней папке с именем .volumeHack.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

  gedit ~ / .volumeHack.sh  [  ! d25] 

Запустите chmod a + x .volumeHack.sh , чтобы сделать его исполняемым.

Затем отредактируйте файл ~ / .xbindkeysrc и копировать & amp; вставьте текст ниже в нижней части этого файла. т.е.

  gedit ~ / .xbindkeysrc  

Выйти и войти в систему

.xbindkeysrc

  #  Увеличить громкость # "amixer set Мастер-воспроизведение 1+" "sh ~ / .volumeHack.sh -c up -i 2% -m Master" m: 0x0 + c: 123 XF86AudioRaiseVolume # Уменьшить громкость "sh ~ / .volumeHack.sh -  c down -i 2% -m Master "m: 0x0 + c: 122 XF86AudioLowerVolume # Toggle mute - здесь не используется #" amixer set Master toggle "# m: 0x0 + c: 121 # XF86AudioMute  

.volumeHack.sh

  #! / bin / sh usage = "use: $ 0 -c {up | down | mute} [-i increment] [-m mixer]  "command = increment = 5% mixer = Master while getopts c: i: m: ho do case" $ o "в c) command = $ OPTARG ;;  i) increment = $ OPTARG ;;  m) mixer = $ OPTARG ;;  h) echo "$ usage";  выход 0 ;;  ?) echo "$ usage";  выход 0 ;;  esac done #echo ": $ command" #echo "increment: $ increment" #echo "mixer: $ mixer" if ["$ command" = ""];  затем сдвиг $ (($ OPTIND - 1)) command = $ 1 exit 0;  fi, если ["$ 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"];  then icon_name = "уведомление-аудио-громкость-off" else if ["$ display_volume" -lt "33"];  then icon_name = "notification-audio-volume-low" else if ["$ display_volume" -lt "67"];  затем icon_name = "notification-audio-volume-medium" else icon_name = "notification-audio-volume-high" fi fi fi fi notify-send "" -i $ icon_name -h int: value: $ display_volume -h строка: синхронный  : volume #echo ": $ icon_name и $ display_volume"  
11
ответ дан 14 August 2018 в 13:15
  • 1
    Ответ на delty работал для меня, как только я отключил горячие клавиши gnome для увеличения / уменьшения громкости. Это предупреждение от xbindkeys было ключом, который мне нужен: *** Предупреждение *** Пожалуйста, убедитесь, что нет другой программы, которая захватывает один из ключей, захваченных xbindkeys. Кажется, что есть конфликт, и xbindkeys не могут захватить все ключи, определенные в его файле конфигурации. – user 2 July 2012 в 11:10
  • 2
    Для записи виновником является нежелание разработчиков Gnome обеспечить прагматическое решение: bugzilla.gnome.org/show_bug.cgi?id=650371 – Jakub Kotowski 27 April 2015 в 14:16

Kubuntu 17.04

Отредактируйте файл main.xml, как правило, найденный по адресу: /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/config/main.xml в качестве пользователя root.

Ищите запись volumeStep:

<entry name="volumeStep" type="Int"> <default>2</default> </entry>

и измените процентный шаг на все, что вы хотите. Я использую 2%, как вы можете видеть.

Как написано на Kubuntu 16.04, вам нужно перезапустить Plasma, чтобы это вступило в силу:

killall plasmashell #to stop it kstart plasmashell #to restart it
2
ответ дан 17 July 2018 в 21:18

Это простое решение работает для (по крайней мере) 12.04 и не требует CCSM.

У вас не будет действий на панели громкости на экране при использовании сочетаний клавиш, но у вас будет,

Системные настройки> Клавиатура> Вкладка «Ярлыки»> «Звук и мультимедиа» категории Отключите существующие сочетания «Уменьшение громкости» и «Уменьшить громкость». Чтобы сделать это, нажмите каждый раз, чтобы выбрать его, а затем нажмите Backspace, чтобы очистить любую комбинацию клавиш, связанную с ним. Теперь выберите категорию «Пользовательские ярлыки» и щелкните значок «+», чтобы создать два новых ярлыка следующим образом: Name: Volume Up
Command: amixer set Master 3%+ Name: Volume Down
Command: amixer set Master 3%- (экспериментируйте с процентами. Если вам нужно идти очень хорошо, опустите знак%, и он будет используйте шкалу 0-255, а не процент). Теперь назначьте каждый из ваших новых ярлыков комбинации клавиш или клавиш: выберите ярлык и введите нужную клавишу или клавиши на клавиатуре.

После этого, когда вы используете свои регуляторы громкости клавиатуры, вы должны иметь любые приращения объема, которые вы указали. Вы всегда можете вернуться к исходному поведению, отключив свои собственные ярлыки и снова включив готовые в категории «Звук и мультимедиа».

10
ответ дан 17 July 2018 в 21:18

12.04 (и, возможно, 11.10)

Если вы хотите напрямую управлять томом pulseaudio, а не идти по маршруту ALSA, вы можете использовать следующий скрипт. Хотя также можно контролировать громкость через DBUS, как описано в этом ответе Stackoverflow, однако я не смог найти способ сделать эту работу в Ubuntu 12.04.

Как сказано в самом скрипте, это использует этот ответ Stackoverflow и расширяет идею в сценарий, который принимает изменение объема в качестве аргумента командной строки, а также показывает уведомление OSD. Я попытался как можно более точно его моделировать по умолчанию Ubuntu (12.04).

Сценарий принимает изменения объема как абсолютное, или относительное число или процентное значение. Так, например:

pavol.sh 2000 устанавливает громкость в 2000, pavol.sh 30% устанавливает громкость на 30 процентов, pavol.sh +1000 увеличивает громкость на 1000, а pavol.sh -5% уменьшает громкость на 5 процентов.

Это также довольно либерально комментируется в надежде на то, что оно полезно для дальнейшей настройки.

HowTo

Используйте свой любимый текстовый редактор для создания файла в своем (или где-нибудь еще - просто запомните путь) под названием pavol.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

gedit ~/pavol.sh

Запустите chmod a+x ~/pavol.sh, чтобы сделать его исполняемым.

Затем откройте Sytem Settings, перейдите к настройкам Keyboard и перейдите на вкладку Shortcuts. Нажмите Custom Shortcuts и создайте два новых сочетания клавиш с помощью кнопки плюс.

Дайте каждому имя и как команду введите что-то вроде этого: /home/username/pavol.sh "+3%" Важно ввести полный путь к pavol.sh (если скрипт не находится в папке, включенной в переменную среды PATH). Также используйте знаки котировки "" вокруг значения тома или сочетание клавиш не будет работать.

После этого щелкните по правой стороне каждой записи, чтобы установить комбинацию клавиш или мультимедийный ключ. Если желаемая комбинация или клавиша уже назначена другому ярлыку, программа спросит, хотите ли вы переназначить ее.

pavol.sh

#!/bin/bash -- ## This script expands upon this answer on stackoverflow: ## https://stackoverflow.com/a/10739764 ## ## GLOBAL VARIABLES # restrict usable commands PATH="/bin:/usr/bin" # this script changes the volume of the default sink (as set, for instance, via the Ubuntu sound menu); # use "pactl info" to display these settings neatly in a terminal DEFAULT_SINK=$(pacmd dump | grep 'set-default-sink' | cut -d ' ' -f 2) # get max. volume from the DEFAULT_SINK MAX_VOL=$(pacmd list-sinks | grep -A 20 "name: <${DEFAULT_SINK}>" | grep "volume steps:" | tr -d '[:space:]' | cut -d ':' -f 2) # show debug messages? # 0 means no debug messages; 1 prints the current volume to the console at the end of the script; 2 switches on bash debugging via "set -x" DEBUG=0 ## FUNCTIONS # generate trace output if DEBUG is 2 or higher if [ ${DEBUG} -gt 1 ]; then set -x; fi # use poor man's return buffer via this variable (This is not stackable!) RETVAL="" # print simple usage text to console show_usage() { echo "Usage: $(basename ${0}) [+|-][number|percentage]" } # return (via RETVAL) the current pulseaudio volume as hexadecimal value get_cur_vol() { RETVAL=$(pacmd dump | grep "set-sink-volume ${DEFAULT_SINK}" | cut -d ' ' -f 3) } # change the pulseaudio volume as set in the first parameter variable, i.e. ${1}; # this can either be an absolute percentage or normal value, for instance 20% or 2000, # or a relative percentage or normal value, for instance +3% or -5% or +200 or -1000 change_vol() { step=${1} relative=${step:0:1} # extract first character percent=${step: -1} # extract last character # cut off first character for easier calculations, if it is either a "+" or "-" if [ "${relative}" = "+" -o "${relative}" = "-" ]; then step=${step:1}; fi # if the last character of ${step} was, in fact, a percent sign... if [ "${percent}" = "%" ]; then step=${step:0:-1} # cut off last character for easier calculations step=$[step*MAX_VOL/100] # change percentage into fixed value via MAX_VOL fi # save current volume in ${old_vol} get_cur_vol old_vol=$[RETVAL+0] # the dummy calculation turns the hexadecimal number to a decimal one # calculate the new volume value ${new_vol} with the operand that was extracted earlier if [ "${relative}" = "+" ]; then new_vol=$[old_vol+step] else if [ "${relative}" = "-" ]; then new_vol=$[old_vol-step] else # no operand found, so ${step} must be an absolute value new_vol=${step} fi fi # check boundaries - don't go below 0 and above MAX_VOL if [ ${new_vol} -lt 0 ]; then new_vol=0; fi if [ ${new_vol} -gt ${MAX_VOL} ]; then new_vol=${MAX_VOL}; fi # set the new volume pactl -- set-sink-volume "${DEFAULT_SINK}" "${new_vol}" # mute the sink if the new volume drops to 0 ... if [ ${new_vol} -le 0 ]; then pactl -- set-sink-mute "${DEFAULT_SINK}" yes else # ... or unmute the sink if the new volume is greater than the old if [ ${new_vol} -gt ${old_vol} ]; then pactl -- set-sink-mute "${DEFAULT_SINK}" no fi fi } # show an OSD notification notify_osd() { # get current volume get_cur_vol cur_vol_percent=$[RETVAL*100/MAX_VOL] # get mute state (gives "yes" or "no") muted=$(pacmd dump | grep "set-sink-mute ${DEFAULT_SINK}" | cut -d ' ' -f 3) # choose suitable icon (modeled after the default Ubuntu 12.04 behavior): # muted-icon if volume is muted if [ "${muted}" = "yes" ]; then icon="notification-audio-volume-muted" else # icon with loudspeaker and 1 of the 3 circle segments filled if volume is less than 34% if [ ${cur_vol_percent} -lt 34 ]; then icon="notification-audio-volume-low" else # icon with loudspeaker and 2 of the 3 circle segments filled if volume is between 34% and 66% if [ ${cur_vol_percent} -lt 67 ]; then icon="notification-audio-volume-medium" else # icon with loudspeaker and all 3 of the 3 circle segments filled if volume is higher than 66% icon="notification-audio-volume-high" fi fi fi # show notification notify-send "Volume" -i ${icon} -h int:value:${cur_vol_percent} -h string:synchronous:volume } # fake main function, that gets called first and kicks off all the other functions main() { # only change volume if input is a number with either a +/- prefix and/or a % suffix if [[ "${1}" =~ ^[+-]?[0-9]+[%]?$ ]]; then change_vol ${1} else show_usage fi # show volume osd notify_osd # show the new - now current - volume in hexadecimal, decimal and percentage if DEBUG is greater than 0 if [ ${DEBUG} -gt 0 ]; then get_cur_vol echo "${RETVAL} - $[RETVAL+0] - $[RETVAL*100/MAX_VOL]%" fi } ## REAL MAIN # run the fake main function and pass on all command line arguments; then exit the script main ${@} exit 0
3
ответ дан 17 July 2018 в 21:18

10.04 / 10.10 / 11.04

Я только что обнаружил, что gconf-editor имеет настройку «Громкость в процентах от объема»:

/apps/gnome_settings_daemon/volume_step

Гораздо более элегантно, и он работает с уведомлениями тома OSD.

11
ответ дан 17 July 2018 в 21:18

Ubuntu 14.04 / 15.04 / 15.10 / 16.04 / 16.10 / 17.04

Наконец-то я получил правильное решение для пользователей Trusty, Vivid, Wily, Xenial, Yakkety и Zesty. Вместо того, чтобы использовать кучу хаков или скриптов, я решил исправить проблему в исходном коде. Я применил этот патч к gnome-settings-daemon и unique-settings-daemon (некоторые тривиальные модификации были внесены в патч).

Я загрузил пакеты в PPA:

ppa: george-edison55 / gnome-settings-daemon (Нажмите здесь, чтобы получить инструкции по использованию PPA.)

После того, как вы добавили PPA, запустите:

sudo apt-get update sudo apt-get upgrade

необходимо перезапустить после завершения установки. После обновления пакетов вы можете использовать этот патч для изменения приращения объема:

dconf write /org/gnome/settings-daemon/plugins/sound/volume-step 2

(значение по умолчанию - 6.)

Теперь, когда вы нажимаете клавиши регулировки громкости, громкость изменяется с шагом 2:

16
ответ дан 17 July 2018 в 21:18

Стоит отметить, что на Ubuntu 17.10 уже есть (хотя и несколько запутанная) поддержка. Нажмите Shift + XF86AudioRaiseVolume (или XF86AudioLowerVolume), чтобы изменить громкость с меньшим размером шага.

3
ответ дан 17 July 2018 в 21:18

Kubuntu 16.04

Я обновил с 14.04, где был уровень мастер-уровня, а также отдельные источники входного сигнала и источники вывода и шаг увеличения / уменьшения 3% (который позже изменился на 5%), , Мне удалось удержать его до 2% и 3% шагов, просто отрегулировав уровни громкости выходного источника, чтобы компенсировать шаги мастер-уровня.

Так что, естественно, я немного разозлился, когда 16.04 поднял это до 6 %, и удалили главный регулятор громкости, вместо этого кнопки регулировки громкости управляют обоими источниками.

Вышеописанное исправление для Ubuntu 16.04 не работает с интерфейсом Plasma 5, используемым на KDE5, поэтому не будет работать Kubuntu 16.04 - я пробовал, и он не работает.

Итак, я сделал быструю проверку онлайн, и процесс требует ручного изменения файла, но это довольно просто.

Отредактируйте файл ListItemBase.qml, обычно найденный в /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml как root.

В функциях increaseVolume и decreaseVolume есть несколько строк, которые определяют шаг, деля максимальный объем на 15. Они смотрят например:

var step = slider.maximumValue / 15;

Чем выше число, тем меньше шагов. Если это было 1, объем равен 0% или 100%, но если бы это было 100, объем увеличивался бы с шагом 1%.

Лично я нацелился на 2%, поэтому я изменил обе эти строки относятся к

var step = slider.maximumValue / 50;

Кредит относится к этому Reddit: https://www.reddit.com/r/kde/comments/3t1xr0/how_to_change_the_volume_increment_step_size_for/

Однако, вам нужно будет перезапустить Plasma, чтобы это вступило в силу:

killall plasmashell #to stop it kstart plasmashell #to restart it

Надеюсь, это поможет кому-то выйти или, возможно, даже приведет к тому, что кто-то представит изменение в Plasma, чтобы сделать эту конфигурацию ... как может закончиться тем, что я после другого обновления.

0
ответ дан 17 July 2018 в 21:18

Вы можете сделать это с помощью диспетчера настроек CompizConfig. Используйте команду sudo apt-get install compizconfig-settings-manager, если вы ее еще не установили.

Теперь откройте диспетчер настроек CompizConfig и перейдите в «Команды» в разделе «Общие». Установите флажок Включить команды справа. На вкладке «Команды» введите следующие две команды отдельно в качестве двух команд:

amixer set Master 5%+ -q

amixer set Master 5%- -q

Назначьте два сочетания клавиш для команд в вкладка . Я использую комбинацию Super + [и Super +]. Теперь закройте диспетчер настроек CompizConfig, и это должно работать.

Я не уверен, что вы можете назначить команды встроенным контроллерам томов на компьютере.

5
ответ дан 17 July 2018 в 21:18

Kubuntu 17.04

Отредактируйте файл main.xml, как правило, найденный по адресу: /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/config/main.xml в качестве пользователя root.

Ищите запись volumeStep:

<entry name="volumeStep" type="Int"> <default>2</default> </entry>

и измените процентный шаг на все, что вы хотите. Я использую 2%, как вы можете видеть.

Как написано на Kubuntu 16.04, вам нужно перезапустить Plasma, чтобы это вступило в силу:

killall plasmashell #to stop it kstart plasmashell #to restart it
2
ответ дан 23 July 2018 в 21:57

Это простое решение работает для (по крайней мере) 12.04 и не требует CCSM.

У вас не будет действий на панели громкости на экране при использовании сочетаний клавиш, но у вас будет,

Системные настройки> Клавиатура> Вкладка «Ярлыки»> «Звук и мультимедиа» категории Отключите существующие сочетания «Уменьшение громкости» и «Уменьшить громкость». Чтобы сделать это, нажмите каждый раз, чтобы выбрать его, а затем нажмите Backspace, чтобы очистить любую комбинацию клавиш, связанную с ним. Теперь выберите категорию «Пользовательские ярлыки» и щелкните значок «+», чтобы создать два новых ярлыка следующим образом: Name: Volume Up
Command: amixer set Master 3%+ Name: Volume Down
Command: amixer set Master 3%- (экспериментируйте с процентами. Если вам нужно идти очень хорошо, опустите знак%, и он будет используйте шкалу 0-255, а не процент). Теперь назначьте каждый из ваших новых ярлыков комбинации клавиш или клавиш: выберите ярлык и введите нужную клавишу или клавиши на клавиатуре.

После этого, когда вы используете свои регуляторы громкости клавиатуры, вы должны иметь любые приращения объема, которые вы указали. Вы всегда можете вернуться к исходному поведению, отключив свои собственные ярлыки и снова включив готовые в категории «Звук и мультимедиа».

10
ответ дан 23 July 2018 в 21:57
  • 1
    Очень полезно, спасибо – Thomas Boxley 28 April 2013 в 12:51
  • 2
    Это работало из командной строки и из моих ключевых сопоставлений вчера, но после перезагрузки никакого эффекта ни в командной строке, ни в сопоставлении клавиш. – GlenPeterson 29 October 2013 в 21:24

12.04 (и, возможно, 11.10)

Если вы хотите напрямую управлять томом pulseaudio, а не идти по маршруту ALSA, вы можете использовать следующий скрипт. Хотя также можно контролировать громкость через DBUS, как описано в этом ответе Stackoverflow, однако я не смог найти способ сделать эту работу в Ubuntu 12.04.

Как сказано в самом скрипте, это использует этот ответ Stackoverflow и расширяет идею в сценарий, который принимает изменение объема в качестве аргумента командной строки, а также показывает уведомление OSD. Я попытался как можно более точно его моделировать по умолчанию Ubuntu (12.04).

Сценарий принимает изменения объема как абсолютное, или относительное число или процентное значение. Так, например:

pavol.sh 2000 устанавливает громкость в 2000, pavol.sh 30% устанавливает громкость на 30 процентов, pavol.sh +1000 увеличивает громкость на 1000, а pavol.sh -5% уменьшает громкость на 5 процентов.

Это также довольно либерально комментируется в надежде на то, что оно полезно для дальнейшей настройки.

HowTo

Используйте свой любимый текстовый редактор для создания файла в своем (или где-нибудь еще - просто запомните путь) под названием pavol.sh и скопируйте и вставьте содержимое ниже в этот файл, т. е.

gedit ~/pavol.sh

Запустите chmod a+x ~/pavol.sh, чтобы сделать его исполняемым.

Затем откройте Sytem Settings, перейдите к настройкам Keyboard и перейдите на вкладку Shortcuts. Нажмите Custom Shortcuts и создайте два новых сочетания клавиш с помощью кнопки плюс.

Дайте каждому имя и как команду введите что-то вроде этого: /home/username/pavol.sh "+3%" Важно ввести полный путь к pavol.sh (если скрипт не находится в папке, включенной в переменную среды PATH). Также используйте знаки котировки "" вокруг значения тома или сочетание клавиш не будет работать.

После этого щелкните по правой стороне каждой записи, чтобы установить комбинацию клавиш или мультимедийный ключ. Если желаемая комбинация или клавиша уже назначена другому ярлыку, программа спросит, хотите ли вы переназначить ее.

pavol.sh

#!/bin/bash -- ## This script expands upon this answer on stackoverflow: ## https://stackoverflow.com/a/10739764 ## ## GLOBAL VARIABLES # restrict usable commands PATH="/bin:/usr/bin" # this script changes the volume of the default sink (as set, for instance, via the Ubuntu sound menu); # use "pactl info" to display these settings neatly in a terminal DEFAULT_SINK=$(pacmd dump | grep 'set-default-sink' | cut -d ' ' -f 2) # get max. volume from the DEFAULT_SINK MAX_VOL=$(pacmd list-sinks | grep -A 20 "name: <${DEFAULT_SINK}>" | grep "volume steps:" | tr -d '[:space:]' | cut -d ':' -f 2) # show debug messages? # 0 means no debug messages; 1 prints the current volume to the console at the end of the script; 2 switches on bash debugging via "set -x" DEBUG=0 ## FUNCTIONS # generate trace output if DEBUG is 2 or higher if [ ${DEBUG} -gt 1 ]; then set -x; fi # use poor man's return buffer via this variable (This is not stackable!) RETVAL="" # print simple usage text to console show_usage() { echo "Usage: $(basename ${0}) [+|-][number|percentage]" } # return (via RETVAL) the current pulseaudio volume as hexadecimal value get_cur_vol() { RETVAL=$(pacmd dump | grep "set-sink-volume ${DEFAULT_SINK}" | cut -d ' ' -f 3) } # change the pulseaudio volume as set in the first parameter variable, i.e. ${1}; # this can either be an absolute percentage or normal value, for instance 20% or 2000, # or a relative percentage or normal value, for instance +3% or -5% or +200 or -1000 change_vol() { step=${1} relative=${step:0:1} # extract first character percent=${step: -1} # extract last character # cut off first character for easier calculations, if it is either a "+" or "-" if [ "${relative}" = "+" -o "${relative}" = "-" ]; then step=${step:1}; fi # if the last character of ${step} was, in fact, a percent sign... if [ "${percent}" = "%" ]; then step=${step:0:-1} # cut off last character for easier calculations step=$[step*MAX_VOL/100] # change percentage into fixed value via MAX_VOL fi # save current volume in ${old_vol} get_cur_vol old_vol=$[RETVAL+0] # the dummy calculation turns the hexadecimal number to a decimal one # calculate the new volume value ${new_vol} with the operand that was extracted earlier if [ "${relative}" = "+" ]; then new_vol=$[old_vol+step] else if [ "${relative}" = "-" ]; then new_vol=$[old_vol-step] else # no operand found, so ${step} must be an absolute value new_vol=${step} fi fi # check boundaries - don't go below 0 and above MAX_VOL if [ ${new_vol} -lt 0 ]; then new_vol=0; fi if [ ${new_vol} -gt ${MAX_VOL} ]; then new_vol=${MAX_VOL}; fi # set the new volume pactl -- set-sink-volume "${DEFAULT_SINK}" "${new_vol}" # mute the sink if the new volume drops to 0 ... if [ ${new_vol} -le 0 ]; then pactl -- set-sink-mute "${DEFAULT_SINK}" yes else # ... or unmute the sink if the new volume is greater than the old if [ ${new_vol} -gt ${old_vol} ]; then pactl -- set-sink-mute "${DEFAULT_SINK}" no fi fi } # show an OSD notification notify_osd() { # get current volume get_cur_vol cur_vol_percent=$[RETVAL*100/MAX_VOL] # get mute state (gives "yes" or "no") muted=$(pacmd dump | grep "set-sink-mute ${DEFAULT_SINK}" | cut -d ' ' -f 3) # choose suitable icon (modeled after the default Ubuntu 12.04 behavior): # muted-icon if volume is muted if [ "${muted}" = "yes" ]; then icon="notification-audio-volume-muted" else # icon with loudspeaker and 1 of the 3 circle segments filled if volume is less than 34% if [ ${cur_vol_percent} -lt 34 ]; then icon="notification-audio-volume-low" else # icon with loudspeaker and 2 of the 3 circle segments filled if volume is between 34% and 66% if [ ${cur_vol_percent} -lt 67 ]; then icon="notification-audio-volume-medium" else # icon with loudspeaker and all 3 of the 3 circle segments filled if volume is higher than 66% icon="notification-audio-volume-high" fi fi fi # show notification notify-send "Volume" -i ${icon} -h int:value:${cur_vol_percent} -h string:synchronous:volume } # fake main function, that gets called first and kicks off all the other functions main() { # only change volume if input is a number with either a +/- prefix and/or a % suffix if [[ "${1}" =~ ^[+-]?[0-9]+[%]?$ ]]; then change_vol ${1} else show_usage fi # show volume osd notify_osd # show the new - now current - volume in hexadecimal, decimal and percentage if DEBUG is greater than 0 if [ ${DEBUG} -gt 0 ]; then get_cur_vol echo "${RETVAL} - $[RETVAL+0] - $[RETVAL*100/MAX_VOL]%" fi } ## REAL MAIN # run the fake main function and pass on all command line arguments; then exit the script main ${@} exit 0
3
ответ дан 23 July 2018 в 21:57
  • 1
    это хорошо работает, за исключением того, что он накапливает уведомление OSD-send при использовании gnome-shell. Каждая пресса добавляет новое экранное меню, а предыдущее не исчезает. OSD приятно, но не важно для меня. Я пробовал комментировать уведомление о выпуске OSD, но это нарушило сценарий для меня. – Kendor 1 October 2012 в 01:28
  • 2
    Извините @kendor, что это не сработало для вас. Я проверил его только с Unity. Вы пробовали workaroud из комментария в этом отчете об ошибке: https://bugzilla.redhat.com/show_bug.cgi?id=693207#c3 ? Просто добавьте --hint=int:transient:1 перед "Volume" в строке с командой notify-send (должен быть номер строки 130). Может быть, это помогает. – Kuro 4 March 2013 в 22:23

10.04 / 10.10 / 11.04

Я только что обнаружил, что gconf-editor имеет настройку «Громкость в процентах от объема»:

/apps/gnome_settings_daemon/volume_step

Гораздо более элегантно, и он работает с уведомлениями тома OSD.

11
ответ дан 23 July 2018 в 21:57

Ubuntu 14.04 / 15.04 / 15.10 / 16.04 / 16.10 / 17.04

Наконец-то я получил правильное решение для пользователей Trusty, Vivid, Wily, Xenial, Yakkety и Zesty. Вместо того, чтобы использовать кучу хаков или скриптов, я решил исправить проблему в исходном коде. Я применил этот патч к gnome-settings-daemon и unique-settings-daemon (некоторые тривиальные модификации были внесены в патч).

Я загрузил пакеты в PPA:

ppa: george-edison55 / gnome-settings-daemon (Нажмите здесь, чтобы получить инструкции по использованию PPA.)

После того, как вы добавили PPA, запустите:

sudo apt-get update sudo apt-get upgrade

необходимо перезапустить после завершения установки. После обновления пакетов вы можете использовать этот патч для изменения приращения объема:

dconf write /org/gnome/settings-daemon/plugins/sound/volume-step 2

(значение по умолчанию - 6.)

Теперь, когда вы нажимаете клавиши регулировки громкости, громкость изменяется с шагом 2:

16
ответ дан 23 July 2018 в 21:57
  • 1
    Будет ли это ppa оставаться в курсе предстоящего гнома / единства-настроек-демонов в будущем? – starbeamrainbowlabs 2 December 2015 в 10:55
  • 2
    Да, я надеюсь остаться на вершине этого. – Nathan Osman 2 December 2015 в 22:33
  • 3
    Благодаря! Просто хотел проверить. Я переключусь на использование вашего ppa, пока он не будет объединен с основным ppa (если это произойдет). – starbeamrainbowlabs 2 December 2015 в 23:34
  • 4
    @NathanOsman любой шанс, что вы могли бы запланировать и упаковать mate-settings-daemon, а? Я буду вечно благодарен :-) – Alex Grin 17 November 2016 в 02:35
  • 5
    @AlexGrin хорошие новости - MATE уже поддерживает этот готовый продукт. Вам просто нужно использовать другую команду для изменения значения приращения: dconf write /org/mate/settings-daemon/plugins/media-keys/volume-step <NUM>, где <NUM> - новое значение. Я просто проверил это на MATE 16.04. – Nathan Osman 19 November 2016 в 01:28

Стоит отметить, что на Ubuntu 17.10 уже есть (хотя и несколько запутанная) поддержка. Нажмите Shift + XF86AudioRaiseVolume (или XF86AudioLowerVolume), чтобы изменить громкость с меньшим размером шага.

3
ответ дан 23 July 2018 в 21:57

Kubuntu 16.04

Я обновил с 14.04, где был уровень мастер-уровня, а также отдельные источники входного сигнала и источники вывода и шаг увеличения / уменьшения 3% (который позже изменился на 5%), , Мне удалось удержать его до 2% и 3% шагов, просто отрегулировав уровни громкости выходного источника, чтобы компенсировать шаги мастер-уровня.

Так что, естественно, я немного разозлился, когда 16.04 поднял это до 6 %, и удалили главный регулятор громкости, вместо этого кнопки регулировки громкости управляют обоими источниками.

Вышеописанное исправление для Ubuntu 16.04 не работает с интерфейсом Plasma 5, используемым на KDE5, поэтому не будет работать Kubuntu 16.04 - я пробовал, и он не работает.

Итак, я сделал быструю проверку онлайн, и процесс требует ручного изменения файла, но это довольно просто.

Отредактируйте файл ListItemBase.qml, обычно найденный в /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml как root.

В функциях increaseVolume и decreaseVolume есть несколько строк, которые определяют шаг, деля максимальный объем на 15. Они смотрят например:

var step = slider.maximumValue / 15;

Чем выше число, тем меньше шагов. Если это было 1, объем равен 0% или 100%, но если бы это было 100, объем увеличивался бы с шагом 1%.

Лично я нацелился на 2%, поэтому я изменил обе эти строки относятся к

var step = slider.maximumValue / 50;

Кредит относится к этому Reddit: https://www.reddit.com/r/kde/comments/3t1xr0/how_to_change_the_volume_increment_step_size_for/

Однако, вам нужно будет перезапустить Plasma, чтобы это вступило в силу:

killall plasmashell #to stop it kstart plasmashell #to restart it

Надеюсь, это поможет кому-то выйти или, возможно, даже приведет к тому, что кто-то представит изменение в Plasma, чтобы сделать эту конфигурацию ... как может закончиться тем, что я после другого обновления.

0
ответ дан 23 July 2018 в 21:57

Вы можете сделать это с помощью диспетчера настроек CompizConfig. Используйте команду sudo apt-get install compizconfig-settings-manager, если вы ее еще не установили.

Теперь откройте диспетчер настроек CompizConfig и перейдите в «Команды» в разделе «Общие». Установите флажок Включить команды справа. На вкладке «Команды» введите следующие две команды отдельно в качестве двух команд:

amixer set Master 5%+ -q

amixer set Master 5%- -q

Назначьте два сочетания клавиш для команд в вкладка . Я использую комбинацию Super + [и Super +]. Теперь закройте диспетчер настроек CompizConfig, и это должно работать.

Я не уверен, что вы можете назначить команды встроенным контроллерам томов на компьютере.

5
ответ дан 23 July 2018 в 21:57
  • 1
    Требуется ли amixer Compiz? – Takkat 31 October 2010 в 18:00
  • 2
    Вы можете сделать это с помощью сочетаний клавиш в настройках. В любом случае, в менеджере Compiz есть больше опций, включая назначение событий кликов и т. Д. – thameera 31 October 2010 в 18:21
  • 3
    Команда amixer замечательна, но вам не нужно указывать читателям устанавливать CompizConfig Settings Manager. – ændrük 14 November 2010 в 07:58
  • 4
    Сначала это сработало для меня, но хороший результат был нестабильным. По какой-то очевидной причине моя система 12.04 вернулась к своему первоначальному поведению с слишком большими приращениями объема, хотя мои новые настройки все еще были установлены и включены в CCSM. Я также пытался удалить и пересоздать их безрезультатно. Я нашел еще 12.04-удобный способ сделать это и опубликую его как еще один ответ. – cdaddr 12 November 2012 в 01:17

Kubuntu 17.04

Отредактируйте файл main.xml , который обычно находится по адресу: /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents /config/main.xml как root.

Ищите запись volumeStep:

  & lt; entry name = "volumeStep" type = "Int" & gt;  ;  & Lt; & умолчанию GT; 2 & Lt; / по умолчанию & GT;  & Lt; / запись & GT;   

и измените процентный шаг на все, что захотите. Я использую 2%, как вы можете видеть.

Как написано на Kubuntu 16.04, вам нужно перезапустить Plasma, чтобы это вступило в силу:

  killall plasmashell #to stop  это kstart plasmashell #, чтобы перезапустить его  
2
ответ дан 31 July 2018 в 19:29

Вы можете сделать это с помощью Диспетчера настроек CompizConfig. Используйте команду sudo apt-get install compizconfig-settings-manager , если вы еще не установили ее.

Теперь откройте диспетчер настроек CompizConfig и перейдите в «Команды» в разделе «Общие» , Установите флажок Включить команды справа. На вкладке «Команды» введите следующие две команды отдельно в виде двух команд:

amixer set Master 5% + -q

amixer set Master 5% -q

Назначьте два сочетания клавиш для команд на вкладке «Связывание клавиш». Я использую комбинацию Super + [и Super +]. Теперь закройте диспетчер настроек CompizConfig, и это должно работать.

Я не уверен, что вы можете назначать команды встроенным контроллерам томов на компьютере.

5
ответ дан 31 July 2018 в 19:29

Kubuntu 16.04

I обновлен с 14.04, который имел уровень мастер-уровня, а также отдельные источники входного сигнала и источники вывода и шаг увеличения / уменьшения 3% (который позже изменился на 5%), , Мне удалось удержать его примерно на 2% и 3%, просто отрегулировав уровни громкости выходного источника, чтобы компенсировать шаги мастер-уровня.

Так, естественно, я немного разозлился, когда 16.04 поднял это до 6 %, и удалили главный регулятор громкости, вместо этого кнопки регулировки громкости управляют обоими выходными источниками.

Вышеописанное исправление для Ubuntu 16.04 не работает с интерфейсом Plasma 5, используемым на KDE5, поэтому не будет работать Kubuntu 16.04 - я пробовал, и он не работает.

Итак, я сделал быструю проверку онлайн, и процесс требует ручного изменения файла, но это довольно просто.

Отредактируйте файл ListItemBase.qml , как правило, найденный в /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml как root.

Существует несколько строк внутри функций : увеличение VOLUMUM и уменьшает объем , которые определяют шаг, деля максимальный объем на 15. Они выглядят так:

  var step = slider.maximumValue / 15;   

Чем выше число, тем меньше шагов. Если это было 1, объем равен 0% или 100%, но если бы это было 100, объем увеличивался бы с шагом 1%.

Лично я нацелился на 2%, поэтому я изменил обе эти строки относятся к

  var step = slider.maximumValue / 50;   

Кредит относится к этому Reddit: https://www.reddit.com/r/kde/comments/3t1xr0/how_to_change_the_volume_increment_step_size_for/

] Однако для этого вам нужно будет перезапустить Plasma:

  killall plasmashell # остановить его kstart plasmashell # перезапустить его  

Надеюсь, это поможет кому-то выйти или, может быть, даже привести к тому, что кто-то внесет изменения в Plasma, чтобы настроить эту конфигурацию ... оба могут стать мной после другого обновления.

0
ответ дан 31 July 2018 в 19:29

Стоит отметить, что на Ubuntu 17.10 уже существует (хотя и несколько запутанная) поддержка для этого. Нажмите Shift + XF86AudioRaiseVolume (или XF86AudioLowerVolume), чтобы изменить громкость с меньшим размером шага.

3
ответ дан 31 July 2018 в 19:29

Ubuntu 14.04 / 15.04 / 15.10 / 16.04 / 16.10 / 17.04

У меня наконец есть правильное решение для пользователей Trusty, Vivid, Wily, Xenial, Yakkety и Zesty. Вместо того, чтобы использовать кучу хаков или скриптов, я решил исправить проблему в исходном коде. Я применил этот патч к gnome-settings-daemon и unity-settings-daemon (некоторые тривиальные модификации были внесены в патч).

Я загрузил пакеты в PPA:

ppa: george-edison55 / gnome-settings-daemon ( Нажмите здесь для получения инструкций )

После того, как вы добавили PPA, запустите:

  sudo apt-get update sudo apt-get upgrade   

После завершения установки вам необходимо перезапустить. После обновления пакетов вы можете использовать команду dconf для изменения приращения темпа:

  dconf write / org / gnome / settings-daemon / plugins / sound  / volume-step 2  

(Значение по умолчанию - 6.)

Теперь, когда вы нажимаете клавиши регулировки громкости, громкость изменяется с шагом 2:

16
ответ дан 31 July 2018 в 19:29

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

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