在ubuntu16.04下写了一个设置壁纸的脚本,终端下运行正常,放到crontab里面运行报错,报错如下:

(process:9896): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

(process:9899): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

是环境变量的问题,搜了一下,找到一种可行的办法:

在脚本前面添加如下代码

PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

例如我的代码如下:

#!/bin/bash

# 这种方法是可行的
# export DBUS_SESSION_BUS_ADDRESS environment variable
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

# 设置壁纸
/home/leon/set_wallpape.py

参考:Gsettings with cron

crontab下执行设置壁纸出错问题相关推荐

  1. Linux下Crontab定时执行命令

    Linux下Crontab定时执行命令 目录 Crontab概述及安装 Crontab规则 常见例子 1. Crontab概述及安装 1. Crontab指令是Linux下执行定时任务的一个命令. 2 ...

  2. Linux下使用crontab来执行定时任务计划----执行每晚12点多执行移动log日志文件操作

    一.mvlogs.sh文件: mv `find  /usr/local/logs -name 'Interface.log2010*.log' -mtime +4 |xargs -r`  /usr/l ...

  3. Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为&q ...

  4. (二)Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为&q ...

  5. Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案

    Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案 实际开发场景 需要开发一个Flink监控程序,初步使用shell脚本进行监控,如果发现失败了,则自动重新运行Flink命令 ...

  6. crontab定时执行python脚本_linux下使用crontab定时执行python脚本

    工作中遇到需要定时每周执行所写的python脚本,本来想使用python的定时任务框架,结果网上发现linux中提供crontab可以执行定时任务,省了好多代码,下面分享一下crontab 语法介绍 ...

  7. ubuntu下命令行设置壁纸

    1. 设置壁纸 gsettings set org.gnome.desktop.background picture-uri "file:/home/leon/pic/111.jpg&quo ...

  8. mysql存储过程语法错误1064_mysql,dos下执行SQL语句创建存储过程出错ERROR 1064 (42000):...

    update1.sql的内容为 DROP PROCEDURE IF EXISTS pcName; CREATE PROCEDURE pcName() BEGIN select 'a'; END; do ...

  9. linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程

    1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...

最新文章

  1. 赛门铁克针对勒索软件WannaCry发布全球预警
  2. CRF++ 特征工程
  3. Python基础教程:用模块化来搭项目
  4. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
  5. 有趣又好玩的圆外旋轮心形线
  6. 使用Hadoop所需要的一些Linux基础
  7. 轨迹跟踪主要方法_DELMIA教程:基于指令形式的机器人TCP轨迹局部跟踪方法
  8. 用Java实现一个简单的链表迭代器
  9. python3 threading.lock_python3爬虫lock如何有序的处理多线程?
  10. 为什么不能线程调用类的成员函数_C++多线程编程之创建线程的几种方法
  11. STM32工作笔记0050---端口复用和重映射
  12. jvm虚拟机创建对象
  13. 使用pip安装requests模块(超级简单)+ pip升级失败问题的解决
  14. THREEJS - 模型的任意视角展示
  15. 《SQL Server 2000 完全实战:数据转换服务(DTS)》
  16. Spring Cloud Sleuth链路跟踪之使用Mysq保存服务链路跟踪信息(学习总结)
  17. 固定日历 jeDate 日期控件 选择时间,没有相应的回调事件
  18. [书籍精读]《移动WEB前端高级开发实践》精读笔记分享
  19. 固高运动卡的使用 4 运动之PT(点位)运动
  20. 基于VMWare虚拟机搭建Linux集群

热门文章

  1. ktm390蓝牙连接安卓_车机蓝牙连接常见问题说明
  2. api接口加密_接口加密如何测试?
  3. php中header用法
  4. javascript基础 之 void
  5. Java中数据类型转换大全(个人总结)
  6. AES加密,解决了同步问题,和随机密钥和固定密钥,多端通信加密不一致解决办法...
  7. 远程服务器存储之JSON
  8. java中enum类型的使用
  9. 图片的 css sprite的应用思考
  10. JS:ES6-7 迭代器与生成器