Возможно, вам понадобится установить необходимое программное обеспечение PulseAudio
Если вы видите уведомление, в котором говорится: «Для воспроизведения звука вам может потребоваться установить необходимое программное обеспечение PulseAudio», это означает, что Firefox не может найти или использовать PulseAudio , Начиная с Firefox 52, программное обеспечение PulseAudio должно воспроизводить любой звук из Firefox. Большинство дистрибутивов Linux теперь поставляются с предустановленной PulseAudio.
Используйте диспетчер пакетов программного обеспечения вашей системы и убедитесь, что PulseAudio установлен правильно.
PulseAudio можно скачать по этой ссылке: https://www.freedesktop.org/wiki/Software/PulseAudio/
https://www.freedesktop.org / вики / Программное обеспечение / PulseAudio /
Ваш скрипт может извлечь выгоду из некоторых изменений (см. ниже обновленную версию скрипта).
Q: почему «отладка rospackage find» отображается в выражении эха окончательного выражения эха, а не в его
A: вывод следующей строки:
echo 'debug rosbash first $pkgdir', $pkgdir
Будет:
Текст «debug rosbash first $ pkgdir», за которым следует результат команды в $pkgdir, которая является командой _ros_package_find
. В приведенном ниже примере вы можете видеть, что переменная tempvar содержит результат выполнения команды ls при запуске [ f9] - вы получите одну строку результата:
$ ls
123 234 345
$ tempvar=$(ls)
$ echo "debug debug", $tempvar
debug debug, 123 234 345
При запуске двух echo commands, например ниже - вы получите две строки вывода:
$ echo "debug debug"; echo $tempvar
debug debug
123 234 345
Модифицированная версия вашего скрипта:
#!/bin/bash
pkgdir=$(_ros_package_find "$1")
echo "debug rosbash first $pkgdir", "$pkgdir"
function _ros_package_find {
echo 'debug rospackage find', "$1"
local loc
loc=$(export ROS_CACHE_TIMEOUT=-1.0 && rospack find "$1" 2> /dev/null)
echo 'loc', $?
if [[ $? != 0 ]]; then
return 1
fi
echo "$loc"
return 0
}
Ваш скрипт может извлечь выгоду из некоторых изменений (см. ниже обновленную версию скрипта).
Q: почему «отладка rospackage find» отображается в выражении эха окончательного выражения эха, а не в его
A: вывод следующей строки:
echo 'debug rosbash first $pkgdir', $pkgdir
Будет:
Текст «debug rosbash first $ pkgdir», за которым следует результат команды в $pkgdir, которая является командой _ros_package_find
. В приведенном ниже примере вы можете видеть, что переменная tempvar содержит результат выполнения команды ls при запуске echo "debug debug", $tempvar - вы получите одну строку результата:
$ ls
123 234 345
$ tempvar=$(ls)
$ echo "debug debug", $tempvar
debug debug, 123 234 345
При запуске двух echo commands, например ниже - вы получите две строки вывода:
$ echo "debug debug"; echo $tempvar
debug debug
123 234 345
Модифицированная версия вашего скрипта:
#!/bin/bash
pkgdir=$(_ros_package_find "$1")
echo "debug rosbash first $pkgdir", "$pkgdir"
function _ros_package_find {
echo 'debug rospackage find', "$1"
local loc
loc=$(export ROS_CACHE_TIMEOUT=-1.0 && rospack find "$1" 2> /dev/null)
echo 'loc', $?
if [[ $? != 0 ]]; then
return 1
fi
echo "$loc"
return 0
}
Ваш скрипт может извлечь выгоду из некоторых изменений (см. ниже обновленную версию сценария).
Q: почему «отладка rospackage find» отображается в выражении эха окончательного выражения эха, а не в его
A: вывод следующей строки:
echo 'debug rosbash first $pkgdir', $pkgdir
Будет:
Текст «debug rosbash first $ pkgdir», за которым следует результат команды в $pkgdir, которая является командой _ros_package_find
. В приведенном ниже примере вы можете видеть, что переменная tempvar содержит результат выполнения команды ls при запуске echo "debug debug", $tempvar - вы получите одну строку результата:
$ ls
123 234 345
$ tempvar=$(ls)
$ echo "debug debug", $tempvar
debug debug, 123 234 345
При запуске двух echo commands, например ниже - вы получите две строки вывода:
$ echo "debug debug"; echo $tempvar
debug debug
123 234 345
Модифицированная версия вашего скрипта:
#!/bin/bash
pkgdir=$(_ros_package_find "$1")
echo "debug rosbash first $pkgdir", "$pkgdir"
function _ros_package_find {
echo 'debug rospackage find', "$1"
local loc
loc=$(export ROS_CACHE_TIMEOUT=-1.0 && rospack find "$1" 2> /dev/null)
echo 'loc', $?
if [[ $? != 0 ]]; then
return 1
fi
echo "$loc"
return 0
}