昨日游记

今天白蹭living一顿饭之后多买了一张电影票,和栗子一起看《飞驰人生》。赛车手因为非法飚车被抓而禁赛,最终低声下气、找回旧时死党,东拼西凑配出赛车重回王座而又生死未卜的故事。网上的评论两极分化,说好的人大赞,说差的人说得一文不值。但是实际上这部电影甚至比《流浪地球》做得还好。不乏煽情情节,而又通过及时的反转让人转哭为笑。伤感的情节是真伤感,能戳中痛处,而又一带而过,不会让气氛太沉重。儿子的脑补画面、以及后来真的赛车的画面、叠影手法,都充满了热血的味道,让人感受到了那一股中二气息,为之沸腾。落魄的卑微,和死党为了筹钱只能“卖身”上演“钢管舞”……真的心酸。死党开车失事,赛车几乎等于不能用,但是主角没有像其他电影那样暴怒,没有怨天尤人,只是默默地带着那么一点不甘几乎签了退赛申请书,可见五年的沧桑让他从那个得志而有那么一点狂的人磨成了芸芸众生的一个。在他心目中这两个不离不弃的兄弟比起他自己的梦来说更值得在意。而他的劲敌伸出援手,给他提供了修理站,他的好兄弟也名副其实地担起了全国最优秀修理师的称号,给他修好了。这一部片子里没有谁是反派,真的只有“他自己和时间”是他要对抗的。

小小的一部片子里,有落魄而又奋起、曾经棱角而又学会圆滑的赛车手,有为富不仁、强人所难而又不是恶心的金主爸爸,有心地善良但是也有那么一点小市民气的驾校教练,有见钱眼开的狐朋狗友,也有患难真情的真兄弟。这些形形色色的人,因为各种事情和男主牵连上的人,在电影的最后,通过那一抹夕阳串在了一起,交代了各自的结局。这种手法可以说是很令人舒服了。电影也不乏伏笔,虽然伏得短,却也让人恍然大悟。

电影的最后,bad end和good end都提供给了观众,选择哪一个,相信哪一个,就像少年派一样,导演没有给出答案,也没有引导答案。挺好的。

Read More

配置cookies-free有感

之前能做的优化都做了,剩下这个cookies free能够玩一玩。

因为我的博客已经在添加域名的时候绑定了www,所以直接在后台的设置-常规里添加www就好。然后更改.htaccess,添加

1
RewriteCond %{HTTP_HOST} ^域名 [NC]

再复制一条RewriteRule即可。

然后,VPS部署的时候用的lnmp,所以直接lnmp vhost add,配置静态域名,重点是把Root Directory指定到wordpress的wp-content上。添加好之后在wp-config.php里添加:

1
2
define("WP_CONTENT_URL", "https://静态域名");
define("COOKIE_DOMAIN", "www.域名");

how-to-create-cookie-free-domain-for-wordpress

实现不带www的域名自动跳转到带www的域名的最好方法

How-to-Add-WWW-to-WordPress-Address-and-Site-Address-URL

Read More

阳山

昨天去阳山看梨花。村子在一个山村里,确确实实的世外桃源:电视看的是卫星电视,手机只有移动有2G信号,网络断绝。应该是妈妈的朋友招待我们,非常热情,总是想让我们带只阳山鸡回去。

我们好不容易才推掉。主人家生意兴隆,听说除了春节这个月,其他时候没什么游客,一年的旅游收入主要就看梨花开的这个月。靠山吃山。等到一点终于吃上了午饭。(鸡哥,对不起!)

吃完饭出去看花。






已经过了全盛的时候,有的花开始谢了。不过漫山遍野都是梨花的感觉,让人明白“忽如一夜春风来,千树万树梨花开”的那种雪是什么样的感受。

梨花林间有一些破败的泥瓦屋,有的已经塌了一半了。据说屋子的主人家每年春节还是会回来烧香拜神,但是没有把房子修一修的想法。

下山的路上看见挺多梨树被拔起来堆在路边,挺可惜的。毕竟梨树长得那么慢,几十年才能开花得像这山那么好看。说没了就没了,挺可惜的。

回程的路很难走,高速路被封,两个入口塞车一个路口封闭,当地人开车又不守规矩,国道时速60(米)。直到半夜才到家。

Read More

kvm+QEMU安装虚拟机

一切都要从换用i3wm之后说起。其实背景不复杂,就是在i3wm下面无法启动deepin-wechat这一大杀器……所以只能用传统解决办法:装虚拟机。

现在的Intel CPU基本都支持Intel-VT,所以只需要确认BIOS 里没有禁用虚拟化就可以了。archlinux的官方内核默认加载了kvm模块,所以直接安装QEMU即可。为了偷懒,再安装virt-manager来提供图形界面。为了以普通用户身份来运行virt-manager,需要把用户加入libvirt和kvm组。为了支持NAT,需要安装ebtables和dnsmasq。

启动之前首先用systemctl启动ebtables、dnsmasq、libvirtd(顺序matters),随后启动virt-manager,之后的步骤就和virtualbox的安装步骤差不多了。

Read More

vultr部署nextcloud

首先一键部署NextCloud,然后ssh进去,参考Let’s Encrypt Certbot安装certbot。certbot的renew是依赖pyasn1而且运行在python3上,所以先安装python3-pip,pip3 install pyasn1,然后crontab -e添加:

1
0 3 * */1 * /usr/bin/certbot renew

完成证书自动更新。

解决后顾之忧之后,开始授权: certbot --nginx certonly 证书放在/etc/letsencrypt/live/域名,fullchain.pem等于server.crt,privkey.pem等于server.key。然后把fullchain.pem复制到/etc/nginx/ssl而且替换原来的server.crt,把privkey.pem复制到一样的目录替换server.key。

为了用域名访问,还需要修改/etc/nginx/conf.d/nextcloud.conf,把两个server_name改成域名;修改/var/www/html/config/config.php,把'trusted_domains' => array ( 的ip地址改成域名。

重启一遍systemctl restart nginx.service; systemctl restart php7.0-fpm.service,大功告成

Read More

archlinux下使用rEFI

首先安装refind-efi,然后直接refind-install

由于在我的电脑上使用它的脚本只能复制好drivers,所以还要继续:

1
2
mkdir -p esp/EFI/refind
cp /usr/share/refind/refind_x64.efi esp/EFI/refind/

然后创建efi启动项:

1
efibootmgr --create --disk /dev/sdX --part Y --loader /EFI/refind/refind_x64.efi --label "rEFInd Boot Manager" --verbose

其中Y是指哪个分区是EFI分区

由于流氓windows(或者是UEFI的实现问题?)总是会启动到自己身上,所以要进UEFI Shell v2来调整启动顺序

使用的是Archlinux的安装USB来进Shell,因此fs0:会进到U盘的EFI,我的电脑上EFI分区在/dev/sda1上,所以用fs1:进去,bcfg boot dump看启动顺序,bcfg boot mv ? ?来调整启动顺序。搞定exit之后reboot

Read More

archlinux下触摸板相关配置

CSDN-harttle:Linux下的触摸板设置:以 Arch Linux 为例

Synaptics驱动:xf86-input-synaptics

外接鼠标时禁用触摸板:/etc/udev/rules.d/01-touchpad.rules

1
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/_username_/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1" ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/_username_/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"

触摸板高级配置:/etc/X11/xorg.conf.d/50-synaptics.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1" #单指敲击产生左键事件
Option "TapButton2" "2" #双指敲击产生中键事件
Option "TapButton3" "3" #三指敲击产生右键事件
Option "VertEdgeScroll" "on" #滚动操作:横向、纵向、环形
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40" #精确度
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "20" #触发快速滚动的滚动速度
Option "PalmDetect" "1" #避免手掌触发触摸板
Option "PalmMinWidth" "3" #认定为手掌的最小宽度
Option "PalmMinZ" "200" #认定为手掌的最小压力值 EndSection

Read More