Этот сценарий perl6 используеткорень, область, окно,илизадержкускриншоты с помощью импорта и сохраняет их в $file и в буфере обмена.
#!/usr/bin/env perl6
use v6;
sub print_window(Str $file) {
qx{xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"} ~~ /(0x\S*)/;
run <import -window>, $0, $file;
}
sub MAIN( Str $option where $option ∈ <root area window delay> ) {
my $today = DateTime.now(
formatter => {
sprintf "%04d_%02d_%02d_%02d-%02d-%02d",.year,.month,.day,.hour,.minute,.second
}
);
my $file = "$*HOME/Dades/Imatges/ScreenShots/$today.png";
given $option {
when 'root' { run <import -window root>, $file }
when 'area' { run 'import', $file }
when 'window' { print_window($file) }
when 'delay' { sleep 10; print_window($file) }
}
run <xclip -selection clipboard -target image/png -i>, $file;
run <xmessage -nearmouse -timeout 3>, "Screenshot in clipboard, and saved in $today.png";
}
Это привязки клавиш в i3 для запуска скрипта:
bindsym $mod+Print exec Print_Screen root
bindsym --release $mod+Shift+Print exec Print_Screen area
bindsym $mod+Mod1+Print exec Print_Screen delay
bindsym $mod+Control+Print exec Print_Screen window
Частичный ответ с кратким обзором работы звука:
ALSA состоит из драйверов ядра, библиотек и инструментов. Драйверы ядра подхватывают аппаратное обеспечение. Посмотрите dmesg
после загрузки, чтобы увидеть, что они делают, и есть ли проблемы.
Вы можете перечислить доступные устройства вывода на уровне ALSA с помощью aplay -l
и arecord -l
. Посмотрите, входит ли в их число ваше звуковое оборудование Intel HDA.
Если нет, значит, что-то пошло не так на уровне драйвера ALSA, поэтому прочитайте dmesg
, чтобы выяснить, что именно.
Если да, многие ПК переключаются между наушниками и динамиками. Твоя могла бы сделать это тоже или нет. Присмотритесь к alsamixer
или amixer
, чтобы понять, почему они не переключаются.
Кроме того,в большинстве современных дистрибутивов Pulseaudio работает по умолчанию. Pulseaudio на один уровень выше ALSA и обеспечивает передачу звука между устройствами, программами и т. д. Если вы не отключили его намеренно, выясните, что вы сделали (и удалили некоторые пакеты? ), чтобы убрать его, и отменить.
Хорошо, HDA-карта распознается нормально, а в наушниках есть верная информация об автонастройке. Это означает, что это, вероятно, настройка микшера.
Снова выключите Pulseaudio(pulseaudio --kill
). Мы хотим отлаживать только на уровне ALSA, чтобы все было проще.
Найдите WAV-файл, попробуйте что-то вроде
aplay -D plughw:CARD=PCH xxx.wav
запустите alsamixer
, выберите карту с помощью F6
, обязательно просмотрите все настройки (клавиши курсора влево/вправо )и посмотрите, нужно ли вам что-то включить или переключиться на наушники.
Если это не сработает, попробуйте
amixer -D hw:0 info
убедитесь, что это ALC892 (или измените номер в hw:0
), затем выполните
amixer -D hw:0 contents
и загрузите результат в pastebin и т. д., дайте ссылку на него в вопросе, чтобы я мог посмотреть.
Также выясните, почему в последний раз Pulseaudio не запускался
No PulseAudio daemon running, or not running as session daemon.
и почему он работает на этот раз.