分类 Skill 下的文章

Ubuntu 18.04 LTS 下 Chromium 字体模糊的解决方法


问题:

通常情况下,Ubuntu 18.04 下的程序遵循 Gnome Tweaks 下设置的字体渲染配置进行渲染。
但 Chrome 是读取 Linux 系统 fontconfig 配置进行渲染的,
而默认情况下系统 fontconfig 没有对字体 hint 属性进行配置,
所以 Chrome 始终以完全 hint 模式对字体进行渲染。
对没有 hint 信息的字体进行 hint 渲染,效果肯定不会好。

解决方法:

在 /etc/fonts/ 下创建一个文件名为 local.conf,并在其中写入如下内容全局关闭 hint:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <match target="font">
    <edit name="hintstyle" mode="assign">
      <const>hintnone</const>
    </edit>
  </match>
</fontconfig>

重启生效。
知识来源: https://soulike.tech/article?id=34


解决 git push 每次都需要输入密码的问题


为了验证仓库的归属,在执行 git push 操作的时候需要输入用户名和对应的密码,
此限定对于频繁推送远程仓库来说是不人性化的。
为此 Git 至少提供了 2 种方法让开发者“一劳永逸”—— 一旦设定,不再频繁输入用户名和对应的密码。

方法一:使用SSH协议,配置密钥

方法二:使用HTTPS协议,把输入的用户名和密码保存下来,下一次推送的时候就不用再重新输入,命令如下:

git config --global credential.helper store

BIOS设置密码注意事项


在某此电脑,主键盘上的数字键和小键盘上的数字键有区别!
通过小键盘设置的数字密码只能通过小键盘输入才正确,
而通过主键盘设置的数字密码可以通过大、小键盘输入!


创建Aria2启动脚本


脚本内容如下:

#!/bin/sh
#!/bin/bash
### BEGIN INIT INFO
# Provides:          aria2
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO

USER=sh_user
CONF=/etc/aria2/aria2.conf
BIN=/usr/local/bin/aria2c
case "$1" in
start)
    echo "Start aria2c"
    su - $USER -c "$BIN --conf-path=$CONF"
    ;;
stop)
    echo "Stopping aria2c, please wait..."
    killall -w aria2c
    ;;
restart)
    echo "Stopping aria2c, please wait..."
    $0 stop
    echo "Start aria2c"
    $0 start
    ;;
*)
    echo "$0 {start|stop|restart|status}"
    ;;
esac
exit

增加脚本运行权限

chmod +x /etc/init.d/aria2

设置aria2服务开机自动运行

update-rc.d aria2 defaults

Nginx 下为网站添加 auth_basic 认证


Nginx 下 auth_basic 认证至少可以分两种,目录认证和整站认证。
实现代码分别为:

1. 整站认证,在 Server 段添加以下代码:

auth_basic “input you user name and  password”;
auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;

完成之后就是这个样子:

server {
        listen 80;
        root /home/www/;
        index index.php;
        server_name domain.com;
         #密码认证
        auth_basic “input you user name and  password”;
        auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;
        location / {
        }
}

2. 目录认证,在 location 段添加以下代码:

auth_basic “input you user name and  password”;
auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;

完成之后就是这个样子:

location ^~ /目录/.* {
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
                auth_basic “input you user name and  password”;
                auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;
}

目录认证后就丧失了继承的 PHP 解析能力,所以要重新添加 PHP 解析语法:

location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
}

密码认证文件可以通过 http://tool.oschina.net/htpasswd 在线生成!
参考:http://blog.rekfan.com/articles/288.html


修改火狐intl.accept_languages选项,修复不能访问某些网站的BUG


一直以为firefox很科学,很给力,直到访问http://wiki.openwrt.org/遇挫,才发现,IE11,chrome都能打开该页面,真是尺有所短寸有所长。

经过网友支招,自己验证,以下的修改方法可以debug。

1、firefox地址栏输入about:config打开配置页面

2、搜索intl.accept_languages,双击该选项

3、把zh-cn修改成zh_CN

确认之后关闭页面就可以打开了。


使用cookies下载认证URL文件


先来个引子:

一直为手中的联想A820T没有喜欢的ROM而耿耿于怀!试过“R大”的AOSP,但界面采用的是lewa,有些BUG,没有用多久就放弃了。

抱着“念念不忘,必有回响”的态度,寻寻觅觅,发现www.needrom.com有AOSP的ROM,但是访问该站的时候,浏览器返回403错误,没有权限!好吧,算了。

好久之后,再次搜索,发现twitter上有相关的信息,挂上shadowsocks,上去看看,点击推文中的链接,即时有被猴耍的感觉!!原来链接也是指向www.needrom.com,而且还能打开,只不过要登陆才能下载。至此才明白,www.needrom.com禁止了中国的IP!!


好了,回到正式问题

既然www.needrom.com挂上shadowsocks能访问,能下载,本没有问题了,但是proxy好像不给力,每次都是下载到一半就不能下载了,重置后又重新下载,就这样一次次地尝试,一次次地失败。

到了这个时候唯有祭出VPS这个大杀器了。wget一下,很快就出错!原来问题出现在没有登陆这个环节上,shell如何登陆网站?ARE YOU KIDDING ME?正面不行就迂回一下,使用firefox+export插件导出cookies,cookies里保存了账号,密码和登陆信息,使用wget配合cookies就可以正常下载了。

wget --load-cookies=./cookies http://bsp.needrom.com/2014/02/A820T_gacama-AOSP.zip

后记:

念念不忘,必有回响!就在我搜索该ROM的地址时,在搜索引擎里发现2小时前有网友发布了新的AOSP ROM,哦耶!