在bash:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
Run Code Online (Sandbox Code Playgroud)
看起来它们是相同的,但它们没有给出相同的系统跟踪:
$ strace :
strace: :: command not found
$ strace true
execve("/bin/true", ["true"], [/* 82 vars */]) = 0
[snip]
exit_group(0) = ?
Run Code Online (Sandbox Code Playgroud)
我尝试比较strace bash -c : 2>:.txtand strace bash -c true 2>true.txt,但除了内存位置之外找不到它们之间的任何差异。
在dash:
$ type :
: is a special shell builtin
$ type true
true is a shell builtin
Run Code Online (Sandbox Code Playgroud)
好的,所以它们不一样。help :并且 …
我经常在安装了多个键盘的配对站上工作。我可以使用setxkbmapwith-device <ID>来设置特定键盘的布局(使用来自xinput的ID),但通常我在使用哪个键盘并不明显。最好避免反复尝试两种键盘,因此我想编写一个快速工具来获取setxkbmap. 我希望有一个典型的用例,如下所示:
$ setxkbmap -device "$(get-keyboard-id)" -layout gb
Press Enter to detect keyboard ID
Run Code Online (Sandbox Code Playgroud)
哪个界面在 Linux 上提供此信息?理想情况下,它应该在没有 X 的情况下工作,但这不是必需的(似乎没有很多工具可以在没有 X 的情况下支持这一点)。
迄今为止的发现:
xinput? 列表.c ? list_xi2? XIQueryDevice提供可由setxkbmap.showkey并且xev不要打印键盘 ID。xinput list-props $ID显示发送键盘事件的位置。但是,使用另一个答案中的代码似乎该设备不会打印任何内容来识别键盘。一种几乎可能的解决方案是xinput --test <ID> &针对每个键盘 ID运行并查看哪个首先返回某些内容。问题在于找出哪些“键盘”实际上是键盘:
$ xinput | grep keyboard
? Virtual core keyboard id=3 [master keyboard …Run Code Online (Sandbox Code Playgroud)$ ps wafux | grep [x]autolock
user 21410 0.0 0.0 20124 2628 ? S Nov05 0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试锁定它时:
$ xautolock -locknow
Could not locate a running xautolock.
Run Code Online (Sandbox Code Playgroud)
如果我启动另一个xautolock它的工作原理:
$ xautolock -time 10 -notify 30 -notifier "notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds'" -locker slock&
[2] 18828
$ ps wafux | grep [x]autolock
user …Run Code Online (Sandbox Code Playgroud) 我在 Audible 买了一些有声读物。默认的 .aa 文件在 VLC 中播放良好,但质量很差 - 在任何演讲中都会有持续的背景嗡嗡声。他们增强质量的音频文件在 VLC 中打开,显示卷首、章节编号和进度指示器,但没有声音。是否有可能解决这个问题(Linux 和开源软件是我关心的两个参数)?
最新的 VLC (2.2.4) 显示 .aax 文件的以下编解码器信息:
是否有一个命令可用于在将整个字符串传递给 stdout 的同时轻松突出显示(使用颜色、粗体文本或倒置的背景/前景)标准输入中的特定字符串?我正在考虑构建它,但如果它已经存在,我宁愿使用它。一些理想的功能:
一些的git命令有很多选择,而且常常是通过他们的一个我需要寻找有用的-我只是在寻找它控制选项TAB的宽度git-gui,但也有大约200完成为git config。一个明显的解决方法是将所有补全复制到编辑器中并搜索它们,但我宁愿这样做
[something] | grep tab
Run Code Online (Sandbox Code Playgroud)
没有man或info页面compgen,help compgen甚至没有解释它自己的选项,并且没有自动完成 for compgen(讽刺的是如何?)。
PS:compgen -A不起作用。
PPS:这不是一个问题git-gui-标签宽度问题的解决方案在别处。
PPPS:这与自动完成命令无关,仅与命令参数有关。
如何在 Awesome WM v3.5.2 到 3.5.5(到目前为止)中重现:
在这一点上,我希望鼠标的行为与“普通”应用程序一样。相反,我观察到以下几点:
就好像有些东西没有检测到窗口坐标发生了变化。
当您在同一标签中打开另一个应用程序时,会发生类似但更烦人的错误- 鼠标行为就好像窗口根本没有移动一样。
当您切换另一个已打开应用程序的标签时- “虚拟鼠标桌面”将移至主屏幕的左上角。
由于在 OpenJDK 和 Oracle Java 中都观察到了这些错误,在不同的 Java 应用程序中,该错误似乎很可能在 Awesome WM 中。
我很确定我曾经能够使用Composepi(如fsymbols.com 所述)创建小写的 pi 字符,但它不再有效。我的组合键适用于其他字符(例如Composeaa“å”),那么有什么问题呢?
我没有/usr/share/X11/locale/en_GB.utf8/Compose(或~/.XCompose),这是应该安装/生成的东西吗?有一个/usr/share/X11/locale/en_US.utf8/Compose; 将它符号链接到 from/usr/share/X11/locale/en_GB.utf8/Compose来解决这个问题就足够了吗?
$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
分拆问题。
我的 bash shell 将不再使用 cd 更改目录。我早些时候在工作时注意到它,发现我打开的任何新 shell(终端或 xterm 等)都会卡在主目录中并且无法退出(已经打开的终端继续正常工作)。
[~]$ pwd
/home/sys/dave
[~]$ cd /
[~]$ cd Documents/
[~]$ pwd
/home/sys/dave
[~]$ type cd
cd is a shell builtin
[~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
Run Code Online (Sandbox Code Playgroud)
我认为一定是我没有时间处理一些奇怪的事情,例如内存不足的处理程序(检查过 cd 没有别名并使用内置版本)。
所以我(是的,我知道)重新启动了机器。
全新启动,完全一样的问题。
另一方面,CSH 工作正常,所以在上面的代码片段之后立即:
[~]$ csh
[~]$ cd /
[/]$ pwd
/
[/]$ cd ~/Documents/
[~/Documents]$ pwd
/home/sys/dave/Documents
[~/Documents]$
Run Code Online (Sandbox Code Playgroud)
在过去的几天里,我没有安装任何新的东西或执行任何更新,直到今天晚上它都运行良好。
非常感谢想法/帮助/帮助!
** 更新 ** …
启动 XTerm 时,提示从终端的第一行开始。运行命令时,提示会向下移动,直到到达底部,然后它就停留在那里(甚至Shift-Page Down或者鼠标可以改变它)。而不是让终端生命周期的开始是“特殊的” ,提示应该总是在终端的底部。请注意,我有一个多行提示。
当然,它应该像以前一样工作(可调整大小,可滚动,输出中没有不必要的换行符,并且没有输出神秘消失),所以PROMPT_COMMAND='echo;echo;...'或类似的不是一个选项。理想情况下,解决方案不应该是特定于 shell 的。
编辑:在目前的解决方案,在简单的情况下工作时,有几个问题:
PS1。一个例子是的virtualenv,这增加了(virtualenv)在开始的PS1,然后总是消失只是倍以上。除了分叉 XTerm 之外,有没有办法避免这些问题?
bash ×4
arch-linux ×3
awesome ×2
x11 ×2
xorg ×2
autocomplete ×1
colors ×1
compgen ×1
compose-key ×1
dash ×1
drm ×1
highlighting ×1
java ×1
keyboard ×1
linux ×1
shell ×1
terminal ×1
vlc ×1
xautolock ×1
xterm ×1