小编G-M*_*ca'的帖子

如何阻止屏幕变黑/变黑?

一段时间后,我重新安装了 Debian 7 (Wheezy)。我第一次使用免费的 Nvidia 驱动程序(不是 nouveau)和用于虚拟控制台的 vesafb。

我这辈子都无法阻止屏幕变黑。没有屏幕保护程序,什么都没有,它只是在几分钟不活动后变成空白。这不仅仅是在 VLC 期间(过去曾有过这样的问题),而是在任何事情期间。

更糟糕的是,它似乎是随机发生的。有时屏幕不会在几个小时内变成空白,有时会。

到目前为止我采取的步骤:

  1. 添加了几行/etc/X11/xorg.conf来停止 dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在我的.xinitrc文件中添加:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 KDE 设置下禁用所有屏幕保护程序和省电模式。

  4. 在 my 中添加了以下循环/etc/init.d/rc.local

    for index in $(seq 1 6)
    do …
    Run Code Online (Sandbox Code Playgroud)

kde debian screensaver power-management x11

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

理解 Unix/Linux 中的管道命令

我有两个简单的程序:AB.? A将首先运行,然后B获取“stdout”A并将其用作“stdin”。?假设我使用的是 GNU/Linux 操作系统,最简单的方法是:

./A | ./B
Run Code Online (Sandbox Code Playgroud)

如果我必须描述这个命令,我会说它是一个从生产者 ( A)获取输入(即读取)并写入消费者 ( B) 的命令。?这是一个正确的描述吗?我错过了什么吗?

pipe terminology

16
推荐指数
1
解决办法
1624
查看次数

如何在不重启的情况下重新生成 70-persistent-net.rules?

该文件/etc/udev/rules.d/70-persistent-net.rules是在带有 udev 的 Linux 系统上自动生成的,如果它不存在,则在重启期间。但我想知道如何在不重新启动服务器的情况下创建此规则文件(使用命令)。

我在谷歌上搜索了一段时间,发现规则文件是由这个脚本生成的:

/lib/udev/write_net_rules
Run Code Online (Sandbox Code Playgroud)

但是,无法从命令行运行此脚本,因为(我假设)它希望由 udev 启动,并正确设置了一些环境变量。手动启动它会打印错误消息“缺少 $INTERFACE”。即使我在脚本启动之前设置了 env 变量 INTERFACE=eth0,它仍然会打印错误“缺少有效匹配”。更不用说我有两个接口(eth0eth1),我希望为两者生成规则文件。

我也想触发这样的 udev 事件,希望它会从 udev 本身启动脚本,但没有任何改变:

udevadm trigger --type=devices --action=change
Run Code Online (Sandbox Code Playgroud)

那么,有人知道如何在/etc/udev/rules.d/70-persistent-net.rules不重启的情况下重新生成文件中的持久网络规则吗?

linux udev

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

是否可以在用户空间中将环境变量从子级传递到父级?

正如标题所说,我希望能够从子进程(通常是脚本)更改父进程(特别是 shell)中的环境变量。从/dev/pts/id试图key=value从子脚本导出的伪终端,如果可能的话,导出的变量必须以某种方式传递给父脚本?

echoingcmd > /proc/$$/fd/0不执行cmd,只在 shell 终端模拟器中查看命令,当然在 subshel​​l 中使用$(cmd)而不是cmd执行,并且export不向父进程添加变量。

  1. 我更喜欢所有的工作都在孩子这边完成。

  2. 我在评论中被问到,我想要实现什么?这是一个普遍的问题,我正在尝试使用肯定的答案从(父)shell 执行(生成)的脚本中传递变量,以便用户可以从添加的变量中受益,而无需任何进一步的工作。比如我想用脚本安装一个应用程序,应用程序目录应该添加到父shell路径中。

shell process environment-variables

15
推荐指数
3
解决办法
3万
查看次数

建立SSH连接时如何指定本地端口?

我在 IDC 中托管了两台服务器。我只能使用端口 20/21/22/23/3389/33101-33109 在两台服务器之间建立连接。IDC 网络设备将阻止源或目的端口不在 20/21/22/23/80/3389/33101-33109 列表/范围内的任何其他数据包。但是SSH的源端口是随机的。

使用该命令 可以轻松指定远程端口。ssh username@server -p remote_port

那么是否有ssh命令参数或其他方式来指定本地源端口,以便我可以使用端口 33101 来建立 SSH 连接?

我的网络拓扑是这样的:
网络拓扑结构

networking ssh

14
推荐指数
1
解决办法
7723
查看次数

覆盖 gtk3 主题颜色

我想实现一些我认为需要几秒钟的事情,结果证明是一种精神崩溃:在 GTK3 主题中覆盖主题的选定项目颜色。

起初,我天真地认为覆盖 in 的值~/.config/gtk-3.0/gtk.css会成功,但不,它被忽略了。

$ cat ~/.config/gtk-3.0/gtk.css
@define-color selected_bg_color #ff4e9a;
Run Code Online (Sandbox Code Playgroud)

然后我rsync“编/usr/share/themes/<name>~/.themes并通过修改的值改色就想在那里selected_bg_color,但什么也没做。我 sed在文件中设置了所有颜色值。?css仍然被忽略。

最后,我发现覆盖一种简单颜色的唯一方法是“注册”本地复制的主题:

cd /home/foo/.themes/themename/gtk-3.0
glib-compile-resources gtk.gresource.xml
Run Code Online (Sandbox Code Playgroud)

GTK3 是否过度设计以至于没有其他方法可以覆盖颜色?

编辑:在有人建议启动gnome外观”菜单之前,我正在运行 Mate Desktop,其中首选项适用于 GTK2。除了填充之外,
gtk-theme-config严格执行任何操作~/.config/gtk-3.0/gtk.css

theme gtk3

13
推荐指数
1
解决办法
4115
查看次数

如何同步两个本地目录?

我在两个不同的(本地)HDD 上有两个备份目录(dir1 和 2),我想创建其中一个。我怎样才能真正同步它们的内容,以便两个目录都具有相同的内容?

rsync file-management files

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

测试 telnet 端口是否在 shell 脚本中处于活动状态

我正在尝试创建一个脚本来测试是否可以通过 telnet 登录。我不想真正登录;因此,不需要期望。我只是想看看我是否能够获得登录提示。这是从 Linux 系统完成的,所以我一直在尝试使用nc

nc 192.168.10.5 23 -w 1 | grep -q login 
if [ $? -eq 1 ]
then
    echo "console is down"
fi
Run Code Online (Sandbox Code Playgroud)

问题是这导致我的控制台锁定。似乎-w并没有真正断开连接。

我也尝试使用 telnet,但我无法从脚本中断开连接。试

\echo "\035" | telnet 192.168.10.5
Run Code Online (Sandbox Code Playgroud)

在我收到登录提示之前中断。

shell shell-script telnet netcat

12
推荐指数
3
解决办法
5万
查看次数

为什么我的 Debian 9 (Stretch) Linux 内核在“apt install”后没有升级?

我花了一个月的大部分时间尝试在我的Debian 9 (Stretch)上安装、重新安装、手动删除和重新安装最新的 linux-image-4.9.0-8(或其他版本),但它总是会(重新)启动进入那个错误版本的 Linux 3.16.0-5。

我什至删除了整个/boot目录内容并重新安装。

我有一个标准的 Debian 9 安装到/dev/sda驱动器中/dev/sda1/boot独立分区在哪里。

我的清单:

  • 检查了Debian 管理手册
  • 硬件中没有 UEFI 引导加载程序
  • 关闭 imageramfs 选项 /etc/kernel-img.conf
  • 没有花哨的内核模块(甚至没有 NVIDIA 或 ATI)
  • 正确使用apt而不是apt-get

这是我在这里遇到的一个谜题系统。

最新的目录/boot是:

$ ls -lat /boot
total 106000
drwxr-xr-x 23 root root     4096 Jan 17 12:25 ..
drwxr-xr-x  2 root root     4096 Jan 17 12:17 grub
drwxr-xr-x  3 root root     4096 Jan 17 12:17 .
-rw-r--r-- …
Run Code Online (Sandbox Code Playgroud)

debian linux-kernel debian-installer

12
推荐指数
1
解决办法
1406
查看次数

Linux 命令“mount -a”如何工作?

在 中添加新的挂载点后/etc/fstab,我们通常会执行mount -a以反映更改(如果我们想绕过重启),并且df -kh输出会显示新的挂载点。

如何mount -a工作/影响已安装的分区,这些分区引用了 /etc/fstab文件?它是先卸载然后挂载这些分区,还是因为它们已经挂载而忽略它们?

linux partition mount fstab

12
推荐指数
2
解决办法
8622
查看次数