当我偶然发现envsubst
我只想用它来替换特定变量并怀疑 SHELL-FORMAT 参数可能是我想要的但我无法让它工作时。
不幸的是,man
和info
页面没有给出任何使用示例,只说
如果给出了 SHELL-FORMAT,则仅替换 SHELL-FORMAT 中引用的那些环境变量
这并没有告诉我如何引用它们。
我有一台 Acer Aspire V15 Nitro 笔记本电脑,它同时只有一个麦克风和耳机的组合插孔。这总是有点棘手,但直到我最近重新安装 Arch Linux 才有效。
从那以后,不再检测到麦克风部分。在 中pavucontrol
,使用以前的工作配置“模拟立体声双工”,我只能选择“模拟输入”(内部麦克风,效果不佳)。端口没有其他选择。
alsamixer
根本没有显示输入设备。
我怎样才能让我的外置麦克风恢复工作?
如何查看在硬件级别检测到哪些设备?
按照这个问题中的指南,我做了:
$ sudo modprobe v4l2loopback
$ ffmpeg -f x11grab -r 15 -s 1280x720 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Run Code Online (Sandbox Code Playgroud)
设备/dev/video0
按预期显示,但 ffmpeg 命令失败并显示以下输出:
$ ffmpeg -f x11grab -r 15 -s 1280x720 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
...
[x11grab @ 0x559767794cc0] Stream #0: not enough frames to estimate rate; consider increasing probesize
....
[v4l2 @ 0x55976779e6c0] ioctl(VIDIOC_G_FMT): Invalid …
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置GParted Live PXE 启动并按照PXELINUX说明设置启动。
我已经让它与 TFTP 一起工作,但现在我想将 和其他“大”文件的加载切换到 HTTP vmzlinuz
,initrd
因为它很慢。
但是,当我更改pxe 配置中的initrd=/gparted/initrd
(TFTP)时http://192.168.0.1/gparted/initrd
,加载屏幕无限期地挂在
Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...
Run Code Online (Sandbox Code Playgroud)
通过wireshark查看网络流量,我可以看到/gparted/syslinux.efi
, /gparted/ldlinux.e64
, /gparted/pxelinux.cfg/default
,的相关传输/gparted/vmlinuz
。此后一片死寂,所以我认为 HTTP 堆栈没有按预期工作。
PXELINUX页面显示:
从 5.10 版本开始,一个特殊的 PXELINUX 二进制文件 lpxelinux.0 本身支持 HTTP 和 FTP 传输
然而,UEFI 部分说:
“(l)pxelinux.0”引导加载程序能够网络引导基于 BIOS 的客户端。使用 UEFI 的硬件必须使用足够的“syslinux.efi”(分别用于 EFI IA32 或 EFI X64),而不是使用“(l)pxelinux.0”。 …
linux ×2
alsa ×1
arch-linux ×1
audio ×1
bash ×1
ffmpeg ×1
http ×1
microphone ×1
pulse-audio ×1
pxe ×1
syslinux ×1
tftp ×1
uefi ×1
v4l2 ×1