[排错] 解决 Linux 发送邮件时报错 “send-mail: fatal: parameter inet_interfaces: no local interface found for ::1”

报错代码:

send-mail: fatal: parameter inet_interfaces: no local interface found for ::1

解决方法:

步骤一:修改 postfix 的配置文件

# vim /etc/postfix/main.cf

将以下内容:

......
inet_interfaces = localhost
......
inet_protocols = all
......

修改为:

......
inet_interfaces = all
......
inet_protocols = all
......

步骤二:重启 postfix 服务

# systemctl restart postfix

[内容] 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 是在前面的步骤中获取的)

[工具] 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()