小编l0b*_*0b0的帖子

在 Awesome WM 中将鼠标移动到其他屏幕后如何保持 YouTube 视频全屏?

我已经通过使用两个 技巧设法使 YouTube Flash 视频全屏显示,但是每当我将鼠标指针移动到不同的屏幕(从而更改应用程序焦点)时,全屏模式就会被取消。有什么方法可以确保只有在同一屏幕上更改应用程序焦点才能取消全屏模式?

window-manager video awesome fullscreen

6
推荐指数
2
解决办法
3095
查看次数

如何确保只有 root 用户有权停止/重新启动系统?

CentOS Linux 默认允许所有用户使用命令haltreboot.

如何配置我的系统,以便只有 root 用户有权访问halt/reboot系统?

shutdown permissions centos reboot

6
推荐指数
1
解决办法
3779
查看次数

如何在 Awesome WM 中为 jEdit 窗口设置默认标签?

以下规则按预期工作:

{ rule = { class = "Firefox" },
  properties = { tag = tags[2][2] } },
Run Code Online (Sandbox Code Playgroud)

也就是说,Firefox 实例在第二个屏幕的第二个标签上启动。但是,我无法在下一行使用此规则对 jEdit 执行相同操作:

{ rule = { class = "jedit" },
  properties = { tag = tags[2][3] } },
Run Code Online (Sandbox Code Playgroud)

jEdit 实例总是在第一个屏幕的第一个标签上弹出。该窗口类看起来是正确的:

$ xprop | grep "^WM_CLASS\|^WM_NAME" 
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "jedit"
WM_NAME(STRING) = "jEdit - Untitled-1"
Run Code Online (Sandbox Code Playgroud)

除了大写外,它与 Firefox 的结果非常相似:

$ xprop | grep "^WM_CLASS\|^WM_NAME" 
WM_CLASS(STRING) = "Navigator", "Firefox"
WM_NAME(STRING) = "How to place jEdit window in Awesome WM? - Unix …
Run Code Online (Sandbox Code Playgroud)

awesome window-management

6
推荐指数
1
解决办法
467
查看次数

为什么两个几乎相同的 grep 命令返回不同的输出:w/o 和 with filename

我有 2 个几乎相同的greps:

[Alex@localhost tmp]$ grep /bin/bash /etc/passwd 
root:x:0:0:root:/root:/bin/bash
AlexL:x:500:500::/home/AlexL:/bin/bash
user1:x:501:501:user1 12345:/home/user1:/bin/bash
Run Code Online (Sandbox Code Playgroud)

对比

[AlexL@localhost tmp]$ grep /bin/*sh /etc/passwd    
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:AlexL:x:500:500::/home/AlexL:/bin/bash
/etc/passwd:user1:x:501:501:user1 12345:/home/user1:/bin/bash
Run Code Online (Sandbox Code Playgroud)

在第二个查询中,我得到了每一行匹配的文件名前缀。我知道要获得相同的结果,我需要将-h选项放在 2nd 中grep,但我的问题是:

为什么他们返回不同的输出? 我应该添加更多东西吗?

该任务包括从/etc/passwd真实用户(无守护进程和系统用户)中检索。

使用:CentOS 6.4, grep gnu 2.6.3 版本

shell grep regular-expression glob

6
推荐指数
1
解决办法
615
查看次数

如何找到所有与 Windows 不兼容的路径?

在大多数 Linux 文件系统上,NUL ( \0) 是路径中唯一的无效字符(并/保留为路径分隔符)。Windows 有一套复杂的有效路径规则。与其自动修复路径(危险,可能导致文件覆盖另一个文件),我如何才能找到与 Windows 不兼容的目录中的所有路径?

最初的问题是我的Google Drive文件夹位于使用ext2fs挂载的驱动器上,但官方 Gdrive 客户端告诉我无法同步数千个文件。我找不到任何错误消息,当我要求它向我展示文件时,它只会无限期地挂起。重新启动客户端或操作系统并没有帮助,但我有一种预感,修复任何非 Windows 兼容的路径都会解除 Gdrive。好像成功了……

shell bash windows filenames ext2fsd

6
推荐指数
1
解决办法
1865
查看次数

Is `dpkg --contents` unable to handle SIGPIPE?

I noticed a weird antipattern in some CI scripts I've taken over, which basically boils down to this code checking whether a particular file is present in a package:

dpkg --contents some.deb > contents.txt
grep --quiet foo contents.txt
Run Code Online (Sandbox Code Playgroud)

I tried the obvious refactor of dpkg --contents some.deb | grep --quiet foo, but I keep getting this error:

dpkg-deb: error: tar subprocess was killed by signal (Broken pipe)

From some more investigation, this is definitely a timing issue. If I …

shell dpkg

6
推荐指数
1
解决办法
240
查看次数

在 PS1 中重新转义括号

正如其他人所指出的,颜色代码PS1应该用括号括起来\[\]以避免它们占用水平空间。我已将必要的代码添加到.bashrc

highlight()
{
    if [ -x /usr/bin/tput ]
    then
        printf '\['
        tput bold
        printf '\]'
        printf '\['
        tput setaf $1
        printf '\]'
    fi
    shift
    printf -- "$@"
    if [ -x /usr/bin/tput ]
    then
        printf '\['
        tput sgr0
        printf '\]'
    fi
}

highlight_error()
{
    highlight 1 "$@"
}
Run Code Online (Sandbox Code Playgroud)

最后一个函数用于PS1普通和转义命令替换中,以便能够根据前一个命令的结果更改字符串:

# Exit code
PS1="\$(exit_code=\${?#0}
highlight_error \"\${exit_code}\${exit_code:+ }\")"

...

if [ "$USER" == 'root' ]
then
    PS1="${PS1}$(highlight_error '\u')"
else
    PS1="${PS1}\u"
fi …
Run Code Online (Sandbox Code Playgroud)

bash prompt escape-characters

5
推荐指数
1
解决办法
2051
查看次数

在 mutt 中检查新邮件时运行命令

我想imapfilter在 Mutt 检查新电子邮件时运行一个命令(特别是),以避免收到有关=INBOX尚未过滤的电子邮件的“错误”消息。

mutt

5
推荐指数
1
解决办法
2308
查看次数

为什么我的 Before=sleep.target 服务*在恢复后*运行?

我定义了以下服务在挂起之前启动屏幕锁定器

\n\n
$ cat /etc/systemd/system/screenlock.service\n[Unit]\nDescription=Lock X session using slock\nBefore=sleep.target\n\n[Service]\nUser=my_user\nEnvironment=DISPLAY=:0\nExecStart=/usr/bin/xautolock -locknow\n\n[Install]\nWantedBy=sleep.target\n
Run Code Online (Sandbox Code Playgroud)\n\n

启动时加载:

\n\n
$ systemctl status screenlock.service \n\xe2\x97\x8f screenlock.service - Lock X session using slock\n   Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)\n   Active: inactive (dead)\n
Run Code Online (Sandbox Code Playgroud)\n\n

它在触发 RAM 挂起和恢复工作之间的某个时刻运行:

\n\n
$ systemctl status screenlock.service \n\xe2\x97\x8f screenlock.service - Lock X session using slock\n   Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)\n   Active: inactive (dead)\n\nSep 17 08:22:22 machine systemd[1]: Starting Lock X session using slock...\nSep 17 08:22:22 machine systemd[1]: Started Lock X session using slock.\n …
Run Code Online (Sandbox Code Playgroud)

suspend systemd xautolock

5
推荐指数
0
解决办法
1541
查看次数

如何获取grep退出代码但打印所有行?

我想检查命令打印的行是否包含错误消息,但我还想打印命令的所有输出(用于make日志)。有没有办法根据该输出的内容获取命令的所有输出(未修改)和退出代码?我能想到的最接近的解决方法是my_command | grep -C 99999999 '^Error'.

这与此问题相似但不同,因为我关心退出代码并且不想着色。

grep shell-script text-processing

5
推荐指数
1
解决办法
2308
查看次数