在家办公开发环境的反思

鼓捣过Kubernetes,在公司做开发时使用Docker,外接硬盘,通过软链接的方式把程序文件、数据库映射到Docker里,在家里配置同样的Docker容器,这样硬盘直接插在家里电脑上就能用了,一直以来也没觉得有什么不对。

这次郑州疫情,被封在家里,暴露了一些问题:

Linux Crontab运行PyAutoGUI的问题

在Linux Crontab下运行PyAutoGUI跑不起来,查看日志发现是因为报错 `KeyError: ‘DISPLAY’`,也就是找不到显示设备。

用户正常登录了桌面,也没有锁定屏幕,PyAutoGui还是没有找到显示设备,

其实在使用Crontab时,会遇到很多正常操作时不会遇到的问题,比如PHP/Python脚本不能常驻运行,`gsettings`命令执行无效等,包括PyAutoGui不能正常运行,这是因为Crontab是一个受限的环境,需要额外给它传递环境变量才可以。

Ubuntu Crontab中执行gsettings命令的问题

在Ubuntu下你可能会有这么个需求,定时更换壁纸,或者定时设置系统代理,首先想到的应该是通过Crontab定时任务去执行`gsettings`命令,这样可以做到更换壁纸或设置系统代理。

脚本写好了,手动测试下没有问题,设置好Crontab让它定时执行,到了设置的时间点,定时任务也执行了,也没报错,但就是没有生效。

问题出在哪呢?

Squid配置无需认证的代理

在上一篇中我们讲到使用Squid和Stunnel创建代理服务,其中配置的Squid是需要认证的,也就是需要提供用户名密码才可以访问代理服务。

在一些对安全性要求不高的场景下,可能不需要这种认证,直接访问就好了。

怎么实现呢?

豫ICP备19001387号-1