一个定时让你起身活动的脚本

Submitted by Dot on Sun, 08/14/2016 - 11:13

自己总是在电脑前一坐半天乃至一天,不利于健康不说,长时间纠结某个问题往往事倍功半,所以就写了这么个脚本,初衷就是定时提醒自己起身放松一下。

这个脚本作用很简单,添加到crontab,0 8-19/1 * * * relax.sh,8至19点每小时整点运行。

脚本功能:

  • 在当前开启的所有虚拟终端(pts)上输出提示音,提示音频率由慢到快,最后用vlc播放音频文件“break.mp3”,并关闭屏幕;
  • 脚本运行期间(约43秒),任一新打开的虚拟终端都会输出,无法正常工作,强迫你停止;
  • 如果当前是16点,则用vlc播放眼保健操广播音eyes.f4v,这是我在网上找的老版本,80后的记忆;60s后关闭屏幕;
  • 因为脚本是向pts输出,所以只对linux桌面的虚拟终端用户有效,如gnome-terminal;tty用户需修改脚本;

 

为drupal 8创建子主题subtheme

Submitted by Dot on Sat, 06/04/2016 - 20:45

虽然已经习惯了drupal的默认主题bartik,但还是有些看着不爽的地方,比如宽度占满屏幕,比如标签p的margin-bottom太大。

怎么办?直接修改core/themes/bartik/css/layout.css和core/themes/bartik/css/base/elements.css么?当然不,你肯定不想每次被更新覆盖后再重新修改。

两个办法:

  1. 把原主题复制一份放在themes下并重命名,自己维护代码。不推荐,因为容易乱,而且用这种方法你会错过原主题的更新;
  2. 创建子主题subtheme。这是本文要说的。

什么是子主题:

就是能继承原主题(base theme)所有属性的主题。同时,在子主题中的设置又优先于原主题。比如说,子主题css中只有一条p{color:red;},那么子主题会继承原主题所有的属性,然后把所有p标签设为红色。

那么,怎样创建一个drupal 8的子主题呢?

Could not delete temporary file "..." during garbage collection

Submitted by Dot on Thu, 06/02/2016 - 20:17

Recent log messages里总是有类似Could not delete temporary file "..." during garbage collection的报错,观察发现,每次都是5个一组,3小时一次,原来是cron时报错。

搜索了下,对应的是数据库中的表file_managed,status的两个值0和1分别代表temporary和permanent,用sql删除就OK了。

用curl命令提交表单

Submitted by Dot on Tue, 05/31/2016 - 08:50

某VPN服务挺稳定,不过免费试用账号只能用20分钟,如果不想掏钱的话,只能一个接一个注册试用账号了。

那么,每次都要打开注册页注册么?不,幸运的是注册页并没有设验证码,那么我们可以在本地自己做一个表单,action指向对应地址,name值与注册页元素一致,type无所谓,value直接指定即可,注册页method是POST,我们也用POST。

原理弄明白了,我们还可以再懒一点么?可以,一条命令即可:


curl --data "username=dotcra&password1=1111&password2=1111&srvid=1&acceptterms=1&adduser=%200K%20" http://some_vpn/reg.php?cont=reg_user

这个命令直接发送POST请求,注册一个用户名为dotcra,密码为1111的试用账号。

我们还可以写一个shell脚本,让这件事情变得更傻瓜:

drupal搬迁遗留的一些小问题

Submitted by Dot on Sat, 05/28/2016 - 17:15

一些小问题,整理下。

1. 安装honeypot报错:Unable to install Honeypot, honeypot.settings already exists in active configuration.

这里找到了答案,直接在数据库config表中删掉honeypot.setting一行。

2. Recent log messages里很多Alert,内容是Disabled text format: filtered_html或者Disabled text format: okay。

filtered_html和okay是用drupal 7时自建的text format,后来删除了,应该是使用过这两个text format的文章和评论遗留到了drupal 8,造成报错。