在ARG_MAX之后,新进程的最大参数长度似乎ARG_MAX在运行 Ubuntu 12.04 的 Mac Mini 3,1 上定义错误(或至少含糊不清):
$ getconf ARG_MAX # arguments
2097152
$ locate limits.h | xargs grep -ho 'ARG_MAX[ \t]\+[0-9]\+' | uniq | cut -d ' ' -f 8
131072
Run Code Online (Sandbox Code Playgroud)
实际限制似乎介于以下之间:
$ cd "$(mktemp -d)"
$ touch $(seq 1 131072) && find . -mindepth 1 -printf x | wc -c && rm *
131072
$ touch $(seq 1 131073) && find . -mindepth 1 -printf x | wc -c && rm …Run Code Online (Sandbox Code Playgroud) 当我在 Bash 中删除一个“单词”时,它会在某些字符处停止,例如_和/。例如,如果我输入
/foo/bar
Run Code Online (Sandbox Code Playgroud)
并激活backward-kill-word(通常映射到Alt-Backspace和/或Ctrl- w),剩余的文本是
/foo/
Run Code Online (Sandbox Code Playgroud)
. 这确实不对应$COMP_WORDBREAKS或readline的rl_completer_word_break_characters。我如何检测(最好是在正在运行的系统中,而不是代码中的默认值,因为它们可能会被覆盖)哪些字符用于确定断字?
是否有某种方法可以检查 X 的状态以准确且仅获取组合键快捷方式及其映射到的内容的列表,或者作为文字键,例如:
aa å
88 ?
Run Code Online (Sandbox Code Playgroud)
或作为字形名称,例如:
aa Latin Small Letter A with ring above
88 Infinity
Run Code Online (Sandbox Code Playgroud)
或者,理想情况下,组合。
我没有使用 GNOME。
less "/usr/share/X11/locale/$(grep --max-count=1 "${LANG%.*}.UTF-8\$" /usr/share/X11/locale/locale.dir | cut --delimiter=/ --fields 1)/Compose"
Run Code Online (Sandbox Code Playgroud) 当我启动一个新终端时,提示在第一行。工作一段时间后(或运行产生一些输出的命令),提示出现在最后一行。除非我按Ctrl- l, runclear或reset类似的东西,否则它将在会话的其余部分停留在那里。
为了在工作中获得某种程度的连续性,我使用screen一个技巧在标题中显示会话名称(我使用最后一个和 中的两个screen命令.screenrc)。
为了避免因工作区混乱而造成认知开销,我希望将此标题显示在终端的顶部。
我有一个带有 Awesome WM 的 Ubuntu 12.04 系统,我希望屏幕保护程序像在 Unity 中一样工作:
键盘快捷键相对简单:
-- Lock screen
awful.key(
{ "Mod1", "Control" },
"l",
function ()
awful.util.spawn("gnome-screensaver-command --lock")
end)
Run Code Online (Sandbox Code Playgroud)
如何解决第 3 点?
我想在虚拟机中自动生成至少两个 GPG 密钥以进行测试和演示。由于这种情况,我想确保密钥生成速度很快,理想情况下根本不使用或修改/dev/*random。例如,使用系统时钟作为唯一的随机源就可以了:
$ gpg --quick-gen-key 'alice' [options] --random-data $(date +%s)
$ sleep 2
$ gpg --quick-gen-key 'bob' [options] --random-data $(date +%s)
Run Code Online (Sandbox Code Playgroud)
我一直无法找到任何这样的选项。页面中没有的-quick-random和似乎受 支持,但不起作用。例如,这些命令在我杀死它们之前运行了几分钟:--debug-quick-randommangpg
$ gpg --batch --debug-quick-random --passphrase 'alice' --quick-gen-key 'alice@example.org'
$ gpg --batch -quick-random --passphrase 'alice' --quick-gen-key 'alice@example.org'
Run Code Online (Sandbox Code Playgroud)
使用gpg(GnuPG) 2.1.2。
我有两台具有几乎相同设置的Arch Linux 机器,都运行/usr/bin/gnome-keyring-daemon --daemonize --login. 它们都具有相同的 SSH 密钥,但只有其中一个拥有公钥。在具有公钥的主机上,GNOME Keyring 守护进程工作正常 - 我可以按预期通过 SSH 连接到其他机器而无需任何提示。在没有公钥的主机上,GNOME Keyring 似乎忽略了我已经输入了密码,并且每次都会提示我:
$ ls ~/.ssh/id_rsa.pub
ls: cannot access /home/user/.ssh/id_rsa.pub: No such file or directory
$ ssh some-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':
$ ssh other-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':
Run Code Online (Sandbox Code Playgroud)
即使在输入密码后,它也不会列出身份:
$ ssh-add -l
The agent has no identities.
Run Code Online (Sandbox Code Playgroud)
凭直觉复制公钥后,我不再提示输入密码。随后再次删除公钥后,症状又回来了。这种行为是否有原因,或者只是一个错误?
比方说,我有两个库aye和bee我想摆脱bee,这样的线性的历史,bee/master在一个新的子目录“重放”(几个层次深)的aye。我只想要文件和提交消息,我不关心提交 ID。我做想要一个合理的历史,所以git subtree add --prefix=subdirectory并git read-tree --prefix=subdirectory/没有什么我要找的。
两个存储库都是私有的,因此不存在为其他人重写历史记录的风险。但是,bee 确实有一个子模块cee。
人们似乎有很多不同的方式能够在 Docker 容器中运行 systemd 服务。我发现的最新直接建议示例是使用--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --cap-add=SYS_ADMIN --security-opt=seccomp:unconfined. 但是,它仍然失败了:
错误:无法启动服务[ntpd]:执行'/usr/sbin/systemctl start ntpd'返回1:无法连接到总线:没有这样的文件或目录
要在具有最新 Arch Linux 发行版的 docker 1.12.1 容器上在 systemd 231 下运行简单服务,我需要做的绝对最少的事情是什么?
我在几个地方看到过以某种分贝比例表示的网络质量指标,我认为这也/proc/net/wireless包含以下内容:
$ cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlp1s0: 0000 53. -57. -256 0 0 0 3 1001 0
Run Code Online (Sandbox Code Playgroud)
但是,作为不习惯使用分贝的人,我该如何解释它们?man procfs似乎没有任何相关信息。
arch-linux ×1
arguments ×1
awesome ×1
bash ×1
compose-key ×1
docker ×1
git ×1
gnu-screen ×1
gpg ×1
limit ×1
proc ×1
random ×1
readline ×1
screensaver ×1
systemd ×1
terminal ×1
testing ×1
wifi ×1
x11 ×1