我尝试使用 bash 将 mp4 文件转换为 mp3:
IFS=$'\n'
for f in $(ls -1 --quoting-style=escape -R ./*.mp4); do ffmpeg -i "$f" "${f%.mp4}.mp3"; done
并且,ffmpeg 抛出一个错误:./Asu\ no\ Yozora\ Shoukaihan.mp4: No such file or directory
但是如果我尝试手动输入它,它会正常工作,有人知道它为什么会这样吗?
我尝试使用 bash 将 mp4 文件转换为 mp3:
IFS=$'\n'
for f in $(ls -1 --quoting-style=escape -R ./*.mp4); do ffmpeg -i "$f" "${f%.mp4}.mp3"; done
并且,ffmpeg 抛出一个错误:./Asu\ no\ Yozora\ Shoukaihan.mp4: No such file or directory
但是如果我尝试手动输入它,它会正常工作,有人知道它为什么会这样吗?
我有两台机器,Windows 11 作为主机运行,Windows 7 作为客户机运行。
两者都安装了不同版本的 openssh,ssh 服务器在客户机上运行,ssh 客户端在主机上运行。
问题是,尽管日志显示已连接,但服务器没有响应客户端:
$ ssh -vvv -i .ssh/id_rsa [email protected]
OpenSSH_9.9p1, OpenSSL 3.4.0 22 Oct 2024
debug1: Reading configuration data /home/ahmad/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolve_canonicalize: hostname 127.0.0.1 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/ahmad/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/ahmad/.ssh/known_hosts2'
debug3: channel_clear_timeouts: clearing
debug3: ssh_connect_direct: entering
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22.
debug3: set_sock_tos: set socket 4 IP_TOS 0x48
debug1: Connection established.
debug1: identity file .ssh/id_rsa type 0
debug1: identity file .ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.9
kex_exchange_identification: read: Software caused connection abort
banner exchange: Connection to 127.0.0.1 port 22: Software caused connection abort
首先,我认为我错误配置了虚拟机中的端口转发设置,因为服务器很可能一开始就没有收到任何数据包,所以我只是假设数据包只由执行转发工作的虚拟机程序接收,然后我尝试通过关闭 sshd 并nc
从端口 22 上的 msys2openbsd-netcat
包中公开来确保我正确设置了它,并且它正常工作,客户端可以连接并与服务器交换数据:
我认为上面的截图也排除了防火墙问题的可能性。
好的,也许 openssh 服务器只监听环回接口,当我用它检查时netstat
,输出显示它监听所有接口(我也试图在sshd_config
文件中明确确保这一点):
为了防止 ssh 服务器无法正常工作,我尝试通过环回接口进行本地连接,并且没有任何问题:
我排除了“openssh 版本不同”的可能性,因为客户机上的 nc 程序可以接收服务器的响应,而主机上却不能(所以我认为在这种情况下版本并不重要):
那么,实际问题是什么?谁是罪魁祸首?我肯定忽略了一些重要的事情,请给我指出正确的方向,提前谢谢。
编辑:我也尝试过重新启动(分别重新启动客户机和主机),但没有任何改变。
编辑 2:使用其他 IP 而不是环回进行测试,它也可以工作,但是主机仍然无法接收响应:
编辑 3:此时,我很困惑,不知道谁才是阻止我使用 ssh 连接的罪魁祸首,是 openssh 本身吗?但它在本地客户机上运行良好,那么这是 virtualbox 的问题吗?但令人惊讶的是,ncat 建议我不要责怪 virtualbox,因为它在同一个端口上运行良好。
有时,当我从挂起或休眠状态恢复时,会遇到内核崩溃。在这种情况下,我通常会按住电源按钮强制关机。最近,我开始使用内核参数panic=n
,它会在内核崩溃后几秒自动重新启动系统n
。
这些方法有什么区别吗?
我了解到,可以加载另一个内核来为潜在的内核崩溃做准备,这样您就可以保存崩溃日志。这个辅助内核可以用来执行正确的关机(例如,停止systemd
服务、卸载文件系统等)而不是强制重启吗?
我已经安装了 wl-clipboard 包并尝试将文本从 Xorg 复制到 Weston 窗口,但遇到了以下错误:
[hemlo@ASUS ~]$ whoami
reyuki
[hemlo@ASUS ~]$ wl-copy "hellow world"
Failed to connect to a Wayland server: Connection refused
Note: WAYLAND_DISPLAY is set to /run/user/1000/
Note: XDG_RUNTIME_DIR is set to /run/user/1000/wayland-1
[hemlo@ASUS ~]$ ls -l /run/user/1000/wayland-1
srwxr-xr-x 1 reyuki reyuki 0 Aug 24 21:23 /run/user/1000/wayland-1
[hemlo@ASUS ~]$ file /run/user/1000/wayland-1
/run/user/1000/wayland-1: socket
为什么我收到“连接被拒绝”错误?在 Weston 和 Xorg 之间共享剪贴板的正确方法是什么?
我在网上找到了类似的问题,但似乎还没有答案: