[内容] Linux 前台命令的后台执行 (GNOME 版)

内容一:直接执行前台命令

1.1 设置显示变量

# export DISPLAY=":0"

1.2 执行前台命令

# gnome-terminal -x bash -c "ls; exec bash"

(补充:这里以从后台在前台执行 1 次 ls 命令为例)

(注意:此种方法只对连接了显示器的真机 GNOME 桌面有效,对虚拟机的 GNOME 桌面无效)

内容二:周期执行前台命令

# crontab -e

添加以下内容:

......
*/1 * * * * export DISPLAY=":0" && gnome-terminal -x bash -c "ls; exec bash"

(补充:这里以每 1 分钟从后台在前台执行 1 次 ls 命令为例)

(注意:此种方法只对连接了显示器的真机 GNOME 桌面有效,对虚拟机的 GNOME 桌面无效)

[排错] 解决 openSUSE & SLE 切换 root 用户后无法打开图形界面

解决方法

步骤一:获取当前用户的 DISPLAY 变量

> echo $DISPLAY
localhost:10.0

(补充:普通变量是 localhost:10.0)

步骤二:切换 root 用户

> su - root

步骤三:添加普通用户的 key 到 root 用户

# xauth add $(xauth -f ~user1/.Xauthority list | tail -1)

步骤四:在 root 用户下使用普通用户的 DISPLAY 变量

# export DISPLAY=localhost:10.0

(补充:这里的 localhost:10.0 是在前面的步骤中获取的)

[步骤] Linux snmp v1 和 snmp v2 的禁用

步骤一:修改 /etc/snmp/snmpd.conf 配置文件

# vim /etc/snmp/snmpd.conf

将以下内容:

......
group gpublic v1 ......
group gpublic v2c ......
......

修改为:

......
# group gpublic v1 ......
# group gpublic v2c ......
......

步骤二:让修改的 /etc/snmp/snmpd.conf 配置文件生效

# systemctl restart snmpd

[工具] Python 批量执行多个 Linux 命令

介绍

使用方法

1 .将 192.168.0.1、192.168.0.2、192.168.0.3、192.168.0.4、192.168.0.5 的 root 密码设置为 1
2 .不修改 192.168.0.1、192.168.0.2、192.168.0.3、192.168.0.4、192.168.0.5 的任何 sshd 参数
3 .给此脚本添加执行权限
4 .执行此脚本

脚本

#!/usr/bin/python3

from fabric.api import *
env.hosts = ['192.168.0.1','192.168.0.2','192.168.0.3','192.168.0.4','192.168.0.5']
env.port = '22'
env.user = 'root'
env.password = '1'

def files():
    with cd('/tmp'):
        run('touch test{1..10}')
        run('ls /tmp')
def command():
    run('uptime')

@task
def go():
    files()
    command()

随笔 8

每个人都有自己的世界。梦幻般五彩的光芒,神秘幽暗的寂静,洞穿天地的深邃,令憎恨释怀的温柔。有些时候,就算冷风刺穿了皮肤上最后一层微薄的温暖,也还会继续孤独坚守在原处。守护着各自心中的正义,期盼着各自心中的英雄。但又曾想过,那样的英雄,他(她)又会有怎样的世界,他(她)又会一直守望着怎样的星辰,他(她)又会一直凝视着怎样的感动。