小编iag*_*ito的帖子

在 nomatch 的情况下防止 grep 退出

此脚本不回显“之后”:

#!/bin/bash -e

echo "before"

echo "anything" | grep e # it would if I searched for 'y' instead

echo "after"
exit
Run Code Online (Sandbox Code Playgroud)

如果我删除了-eshebang 行上的选项,它也会如此,但我希望保留它,以便我的脚本在出现错误时停止。我不认为 grep 找不到匹配项是错误。我怎样才能防止它突然退出?

grep bash exit error-handling

67
推荐指数
6
解决办法
6万
查看次数

Gnome 3.22:禁用 alt+shift 键盘布局切换

在 Debian stretch 上进行最新升级后,敲击alt+shift我的键盘使其更改布局,这打破了我所有的alt+shift+<anything> xbindkeys快捷方式。

我在设置 -> 键盘 -> 输入中禁用了所有快捷方式。还是一样。

在设置 -> 语言中,据说alt+shift可以在..设置 -> 键盘中调整此行为。但alt+shift似乎无处可去。它是硬编码的吗?有没有办法xbindkeys解决这个问题?

gnome keyboard-shortcuts gnome3 keyboard-layout

21
推荐指数
1
解决办法
1万
查看次数

如何自定义 Gnome 屏幕盾牌/窗帘/登录屏幕外观?

Gnome桌面似乎以不同的方式配置:在“侏儒设置”,与GNOME的扩展gnome-tweak-toolgsettingsdconf-editor

但是,除了这个更改登录屏幕背景的程序,这涉及到一点点 glib 编译,我发现没有办法自定义外观:

  • 登录屏幕(登录框的字体、位置、颜色和大小)
  • 屏蔽屏幕又名锁屏又名窗帘(字体、位置、颜色、时钟的格式和大小、显示的消息

我明白 Gnome 的哲学不是在微调-微调-微调-可调整的东西上分配太多资源。但令我惊讶的是,这些屏幕的这种基本且无害的属性似乎很难获得。

有没有办法可以访问和调整登录/屏蔽屏幕组织属性?
难道他们硬编码或者是它只是一个潜入小的事curtain.xml还是loginscreen.json
我需要进入源代码并自己编译 gnome 吗?

gnome appearance screen-lock gnome-shell dconf

10
推荐指数
1
解决办法
1万
查看次数

检索刚刚启动的 GUI 程序的 X11 窗口 ID

我想检索在后台启动的 GUI 程序的 X id,以便处理它们的 Windows 属性。到目前为止我一直在使用这个解决方法:

myprogram &
sleep 1
winID=$(wmctrl -l | awk '/./{line=$0} END{print $1;}')
Run Code Online (Sandbox Code Playgroud)

但这依赖于三个重要假设:

  • 该程序将花费不到 1 秒的时间来打开窗口(更不用说少于 1 秒可能太长了)
  • wmctrl该窗口将附加在列表的末尾
  • 同时不会打开其他窗口

myprogram打开窗口后是否会发送任何信号?我怎样才能拦截它?

scripting process x11 window wmctrl

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

无法安装、读取、写入或格式化 SD 卡

我可以

  • 当它处于“锁定”位置时从我的 micro-sd 卡中读取

但是当我尝试“解锁”它时,事情变得非常奇怪:我没有办法

  • fsck 它,也不
  • 安装它,也不
  • 读了,也不..
  • 格式化吧!

我需要格式化它,我该怎么办?

这是我的gparted输出:

$ sudo gparted
Created symlink /run/systemd/system/-.mount ? /dev/null.
Created symlink /run/systemd/system/boot-efi.mount ? /dev/null.
Created symlink /run/systemd/system/home-iago\x2dlito-.docker-devicemapper.mount ? /dev/null.
Created symlink /run/systemd/system/home.mount ? /dev/null.
Created symlink /run/systemd/system/run-user-1000.mount ? /dev/null.
Created symlink /run/systemd/system/run-user-117.mount ? /dev/null.
Created symlink /run/systemd/system/tmp.mount ? /dev/null.
Created symlink /run/systemd/system/var.mount ? /dev/null.

======================
libparted : 3.2                                         # see screenshots
======================                                  #
Input/output error during write on /dev/mmcblk0         # first error …
Run Code Online (Sandbox Code Playgroud)

debian input sd-card disk partition-table

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

在构建 R 时无法使 ./configure 找到 tcltk

我正在尝试从源代码构建 R-3.2.1 并支持tcltk,但是我尝试的任何操作都不起作用,因为我在 R 中得到了:

> capabilities("tcltk")
tcltk
FALSE
Run Code Online (Sandbox Code Playgroud)

我正在运行 Debian 8,我已经安装了这些tcl-dev tk-dev bwidget tk-table软件包。这是一个有趣的输出:

$ ./configure --with-tcltk | grep "tcl\|tk"
checking for tclConfig.sh... no
checking for tclConfig.sh in library (sub)directories... no
checking for tkConfig.sh... no
checking for tkConfig.sh in library (sub)directories... no
checking for tcl.h... no
config.status: creating src/library/tcltk/DESCRIPTION
config.status: creating src/library/tcltk/Makefile
config.status: creating src/library/tcltk/src/Makefile
Run Code Online (Sandbox Code Playgroud)

我确实没有任何[tcl|tk]Config.sh文件,但我已经检查过

/usr/include/tcl8.6/tcl.h
/usr/include/tcl8.6/tk.h
/usr/include/tcl8.6/tcl-private/generic/tcl.h
/usr/include/tcl8.6/tk-private/generic/tk.h
/usr/lib/tcltk/
/usr/lib/tcltk/x86_64-linux-gnu/
/usr/lib/tcltk/x86_64-linux-gnu/tk8.6/
Run Code Online (Sandbox Code Playgroud)

确实存在于我的系统中。还是有什么问题?

(这是我读过的两个有趣的网页:

)

make configure r tcl

4
推荐指数
1
解决办法
1575
查看次数

如何从用户空间找到活动的网络接口?

我知道我可以通过解析以下输出来找到当前正在使用的网络接口:

# ifconfig
Run Code Online (Sandbox Code Playgroud)

或者

# route
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能以非 root 用户的身份获取这些信息呢?有没有办法可以建立这样的

$ magic-command
Run Code Online (Sandbox Code Playgroud)

其输出中会none lo或者wlan0或者eth0根据设备的使用..甚至enp3s0f1wlp2s0在异国情调的系统,没有管理员权限?

networking wifi ethernet not-root-user network-interface

3
推荐指数
1
解决办法
7111
查看次数