Автоматическое переключение PulseAudio представляет на основе количества каналов входа (входов)

В Вашем вопросе Вы не сделали непосредственно упомянутый, что Вы хотите использовать доменное имя или просто IP доступ. Поскольку с прямым IP доступом его возможное, чтобы сделать это, что Вы хотите, иначе не так тривиальный (см. в комментариях).

Просто проверьте свой IP с: ifconfig затем Ваш колледж (если они находятся в той же сети) видит то, что Вы представляете канавку nginx путем ввода адреса IP в браузер. Однако снаружи этого не будет доступно, потому что маршрутизатор не передаст запросы снаружи сети Вам компьютер. (Если Вы wan't это, хотя можно добавить вперед правило в конфигурацию маршрутизатора),

Не уверенный, что находится в значении по умолчанию nginx файл конфигурации, но такая простая конфигурация, я ввожу здесь ведьму, которую можно добавить к файлу конфигурации ( /etc/nginx/nginx.conf ):

server {
  listen       80;
  server_name  _;
  # path to your folder what you want to render
  root   /usr/share/nginx/html;
  index index.php index.htm index.html;
}

Однако важно, чтобы у пользователя, который выполняет nginx, было разрешение считать ту корневую папку. Можно проверить то, с чем пользователь является nginx, использующим: ps aux | egrep nginx, и набор это в Вашей конфигурации с директивой: user nginx;

На официальном сайте конфигурации можно читать больше!

Когда Вы получаете доступ к своему компьютеру колледжей, Вы могли однако вставить пользовательский домен для указания на машине путем редактирования файла hosts на theire машине под /etc/hosts:

 something.com

40
27.01.2014, 23:28
1 ответ

Я воплотил pactl subscribeидею в решение -первое решение, которое наконец-то сработало для меня!

В .xsessionrcу меня есть

pkill --signal 9 -f auto-switch.rb
~/.auto-switch.rb &

И в~/.auto-switch.rb

#!/usr/bin/env ruby

require 'open3'

RE = /^Event 'new' on sink #(\d+)$/

Open3.popen2('pactl', 'subscribe') do |_stdin, stdout, _status_thread|
  stdout.each_line do |line|
    match = RE.match(line)
    system('pactl', 'set-default-sink', match.captures.first) if match
  end
end

chmod +x ~/.auto-switch.rb)

Это слушает pactl subscribeи запускает команды pactl set...по своему усмотрению всякий раз, когда pactl subscribeсообщает о каком-либо изменении в вашей настройке. Вы можете изменить это с помощью дополнительной логики для вашей ситуации, если хотите. Вы можете написать его и на каком-то другом языке помимо Ruby, если хотите.

Я просто хотел прийти сюда, чтобы сообщить, что это отлично работает для меня уже несколько недель и является гораздо более простым решением для всех других, которые я мог найти на веб-сайтах, связанных со StackOverflow. Спасибо!

0
04.09.2021, 21:11

Теги

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