Я применил @mpapis к простому «переключению sink0 или sink1» при запуске:
#!/bin/bash
SINK_INDEX1=0
SINK_INDEX2=1
ACTIVE_SINK=$(pacmd list-sinks | grep '* index:' | grep -o '[0-9]*')
if [ "$ACTIVE_SINK" = $SINK_INDEX1 ] ; then
pacmd set-default-sink $SINK_INDEX2
pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX2
else
pacmd set-default-sink $SINK_INDEX1
pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX1
fi
Как упоминается leondgarse, вы не можете загружать новые файлы напрямую с помощью своих настроек. Но вы можете добавить «-c» в server_args, например:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -c -s /tftpboot
disable = no
}
Для получения подробной информации вы можете увидеть man-страницу «in.tftpd»:
--create, -c
Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allow‐
ing anyone to read or write them, unless the --permissive or --umask options are specified.
Это может быть потому, что 14.04 имеет параметр сервера tftp в /etc/inetd.conf:
#BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
, вы можете прокомментировать эту строку и повторите попытку.
Я получил это отсюда: http://www.beer.org/blog/tftpd-and-xinetd-on-ubuntu.html
Не уверен, что это что-то с дизайном TFTP, но при выполнении этого он не позволяет вам создавать файл.
Решение:
Создайте файл перед рукой и дают 777 прав. Запустите передачу снова, и он должен работать.
Пожалуйста, проверьте бит режима файла.
В моем случае корневой каталог tftp является /opt/tftpboot/
Используя команду ls -l, я мог видеть, что режим файла был 600 , поэтому, когда я пытаюсь получить доступ к tftp, чтобы получить этот файл с анонимным, он сообщает о нарушении доступа.
Это может быть причиной этой ошибки. Но для этого может быть и другая причина.
Как упоминается leondgarse, вы не можете загружать новые файлы напрямую с помощью своих настроек. Но вы можете добавить «-c» в server_args, например:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -c -s /tftpboot
disable = no
}
Для получения подробной информации вы можете увидеть man-страницу «in.tftpd»:
--create, -c
Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allow‐
ing anyone to read or write them, unless the --permissive or --umask options are specified.
Это может быть потому, что 14.04 имеет параметр сервера tftp в /etc/inetd.conf:
#BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
, вы можете прокомментировать эту строку и повторите попытку.
Я получил это отсюда: http://www.beer.org/blog/tftpd-and-xinetd-on-ubuntu.html
Не уверен, что это что-то с дизайном TFTP, но при выполнении этого он не позволяет вам создавать файл.
Решение:
Создайте файл перед рукой и дают 777 прав. Запустите передачу снова, и он должен работать.
Пожалуйста, проверьте бит режима файла.
В моем случае корневой каталог tftp является /opt/tftpboot/
Используя команду ls -l, я мог видеть, что режим файла был 600 , поэтому, когда я пытаюсь получить доступ к tftp, чтобы получить этот файл с анонимным, он сообщает о нарушении доступа.
Это может быть причиной этой ошибки. Но для этого может быть и другая причина.