在基于控制台的环境(例如 ssh 会话)中使用 gpg 会失败,因为 GTK pinentry 对话框无法在 SSH 会话中显示。
我试过了,unset DISPLAY
但没有帮助。GPG 命令行选项不包括用于强制 pinentry 进入控制台模式的开关。
较旧的 GPG 版本提供了基于文本的提示,该提示在 SSH 会话中运行良好,但升级后却失败了。
有--textmode
命令行开关,但显然,它还有其他作用。
为远程会话获取纯文本 pin 条目的正确和干净的方法是什么?
在 Linux 中自动挂载设备的方法不断变化,谷歌搜索返回了相当多的解决方案,对现代基于 systemd 的机器具有不同程度的适用性。
似乎存在以下方法:
/etc/fstab
以通过 UUID/标签/设备添加每个驱动器的安装。udev
规则(显然“原始规则”可能与现有的 systemd 策略冲突)thunar
+thunar-volman
包,或nautilus
在 Gnome 中使用gnome-volume-manager
包自动挂载(显然它们依赖udisks)。选择可能是压倒性的,目前尚不清楚哪种方法是推荐的。此外,似乎不同的自动挂载子系统可能会相互冲突,导致分区由一个工具挂载,然后在几秒钟内被另一个工具自动卸载。
对于具有桌面环境的系统,这很简单,因为它们中的大多数会自动处理 USB 挂载,因此除了在设置中启用自动挂载选项外,不需要额外的操作。
对于主要在文本模式下运行的无头系统,当前的方法是什么?
所有我发现的选项摆弄后usbmount
,以(几乎)刚刚工作后,我编辑 /lib/systemd/system/systemd-udevd.service
和改变MountFlags=slave
,以MountFlags=shared
在描述这个问题(???? UPDATE:对于最近的systemd版本PrivateMounts=no
,而应使用!)。无需手动向任何配置文件添加任何 UUID 或标签。缺点是它创建的挂载点/media/usbN
并不完美,所以我已经切换到automount-usb
非常容易设置(只需运行configure.sh
脚本)并创建挂载文件夹,/media/<device>_<disk_label>
例如像/media/sda2_mylabel
(???? UPDATE :automount-usb
似乎不可维护)。
相关链接:
我希望能够通过Chrome 远程桌面连接到无人值守的远程计算机,但是一旦我在 Chrome 插件中单击共享并显示访问代码,它会在几分钟内超时。
有没有办法强制插件无条件地监听传入的连接而不会超时?
它目前的工作方式只有在两个人坐在两端时才有意义,并且当您需要连接到无人值守的计算机时使用起来很痛苦,因为在这种情况下,您需要使用其他一些图形连接协议,这会破坏整个想法的遥控器。
有没有办法将 CTRL+A 和 CTRL+E 映射到系统范围内作为移动到行首,并相应地移动到行尾?
即我希望这些快捷方式能够在任何应用程序中无缝工作,而不仅仅是在终端中(即在 OSX 中)。
我的主要系统是带有 Unity 桌面的 Ubuntu,但最好有一个通用的解决方案,该解决方案与桌面无关,或者至少在 Gnome、XFCE 和 LXDE 中受支持。
我想在 Skype 通话期间听到麦克风输出。我曾尝试摆弄 alsamixer 设置并确保麦克风已取消静音,但仍然无法在耳机或扬声器中听到麦克风的声音。
这可以用 alsa 实现吗?
我的肮脏解决方案是chmod +s /sbin/shutdown
. 它有效,但这可能不是一个好的做法并且不安全。此外,在某些系统更新后,suid 位会被重置。正确的做法是什么?
有没有办法让 mpv 播放从另一个命令的标准输出通过管道传输的 URL 列表?
我的用例是从 HTML 页面播放所有媒体链接,例如使用以下内容:
extractlinks.py http://example.com '*.mp3' | mpv
Run Code Online (Sandbox Code Playgroud)
extractlinks.py
返回一个可播放的 URL 列表,通常可以将其视为有效的 m3u 播放列表。我尝试使用mpv --playlist
但它不接受来自标准输入的播放列表。
有没有办法mpv
从标准输入读取 URL 列表?
是否可以修改建立原始连接时 OpenSSH 服务器显示的字符串?
这不是关于建立连接后显示的文本横幅,它可以通过 中的Banner
参数配置sshd_config
,而是关于 SSH 服务器在握手之前尝试连接时发送的原始输出。
例如,给定一个原始的 telnet 连接
$ telnet localhost 22
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.2p2
Run Code Online (Sandbox Code Playgroud)
有没有办法将识别信息减少到最低限度?
我的理解是它SSH-2.0-
必须存在,因为 SSH 协议需要它,但后面的字符串 - OpenSSH_7.2p2
- 可能不是协议所要求的,但我看不到一种无需重新编译就可以更改或删除它的方法。
目的是避免提供比协议正常工作所需的更多信息。
我有以下 JSON 文件inp.json
:
{
"x": 0,
"tx": [
{
"id": "a",
"t" : "t for a"
},
{
"id": "b",
"t": "t for b"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想提取“tx”中第一次出现的键“t”的值。
我试过
jq -r .tx <inp.json | jq -r '[0].t'
Run Code Online (Sandbox Code Playgroud)
但收到错误消息
断言“cb == jq_util_input_next_input_cb”失败:文件“/usr/src/ports/jq/jq-1.6-1.x86_64/src/jq-1.6/src/util.c”,第371行,函数:jq_util_input_get_position
更新:我也尝试过这些变化
... | jq -r '.[0]t'
Run Code Online (Sandbox Code Playgroud)
和
... | jq -r '.[0].t'
Run Code Online (Sandbox Code Playgroud)
但前者给出了错误消息jq: error: 语法错误,意外的 IDENT,期待 $end,而后者与我最初的尝试相同的错误。