不知道什么时候起,插入U盘的时候,原本应该启动 Nautilus 文件管理器的,结果却启动了 Audacious,要打开u盘时,只能先手动启动 Nautilus 才可以。如图:
收集一些常用的 alias
在 *NIX 系统下的 shell 如果用管道符 “|” 去搭配一些命令的话,可以创造出很多的应用,如果要熟练运用这些的话,需要非常熟悉这些命令的使用方法,还有要很强的记忆力。
这里有两个网站把一些常用的 alias 收集起来,选择一些加到 .bashrc 里去,可以大大提高我们的效率啊~
http://alias.sh/
http://rubytune.com/cheat
Debian 下删除自动获取的ipv6
在 vps 上总是莫名其妙地获取到不需要的 ipv6 地址,而这些 ipv6 地址又不能正常地使用,所以需要禁用掉这些地址。
修改 /etc/network/interfaces
iface eth01 inet6 static up echo 0 > /proc/sys/net/ipv6/conf/default/autoconf up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf address IPV6地址 netmask xx gateway IPV6网关
- 换为具体的网卡接口↩
然后重启network:
# /etc/init.d/networking restart
让网页变成灰阶,兼容各浏览器
使用纯 css 让网页变成灰色,加入以下css在 <head></head> 中即可。
html{ filter: grayscale(100%); /*css3*/ -webkit-filter: grayscale(100%); /*Chrome/safari */ -moz-filter: grayscale(100%); /*Firefox < 3.5 */ -ms-filter: grayscale(100%); -o-filter: grayscale(100%); /*opera*/ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /*Firefox >= 3.6*/ filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); /*IE6/7/8*/ -webkit-filter: grayscale(1); /*Chrome/safari*/ }
Yii 框架事务处理
最近有用 Yii + SQLite 进行一个应用的开发,但在插入大量数据的时候非常缓慢。究其原因,大约就是在每插入一个数据的时候就会有一次 IO 的操作,所以在这个时候引入事务处理就很有必要了,而且也可以保证数据的一致性。
那么,如何在 Yii 应用中引入事务处理呢?
$transaction = Yii::app()->db->beginTransaction(); //创建事务 // 将需要事务处理的操作放进try里 try { $a = XXX::model()->findByPk(X); $a->x = 1; $a->update(); $b = YYY::model()->findByPk(Y); $b->y = 2; $b->update(); $transaction->commit(); //提交事务会真正的执行数据库操作 } catch (Exception $e) { $transaction->rollback(); //如果操作失败, 数据回滚 }
远程连接MySQL数据库很慢的解决方法
这几天把网站的 WEB 跟 MySQL 分开成两台服务器了,可发现远程连接数据库的时候变得很慢,在 4 秒种以上,然而测试了本地的连接后又是正常的。
其实出现这种情况主要是因为在 MySQL 中加入了地址查询,会在连接建立的时候建行一次 DNS 的反查询,所以在这里会出现耗时久的情况。
所以在这里可以有两种解决方法:
第一种:在 MySQL 所在服务器的 hosts 上加入过程连入的服务器的IP <=> 域名
的记录。
192.168.0.11 webserver
第二种:修改 MySQL 的配置,在 [mysqld]
段加入 skip-name-resolve
。
[mysqld] ... skip-name-resolve
重启 MySQL 使之生效。
以上两种方法都可以解决变慢的问题,不过我建议还是用第一种方法。因为第二种方法的话就不能在 MySQL 的授权表中使用主机名了而只能用ip格式了。
Gnome 3.6 更换输入法为 fcitx
Archlinux 把 Gnome 更新到 3.6 了,在 Gnome 3.6 中 ibus 被作为依赖安装到了系统中。虽然集成性不错,但个人还是比较喜欢 fcitx 毕竟从接触 Linux 开始就一直使用 fcitx,所以把打算把输入法换成 fiitx 。结果发现在 Gnome 3.6 中换个输入法并没有那么容易。
最后看到在 fcitx 的 wiki 中有介绍:http://fcitx-im.org/index.php?title=Note_for_GNOME_Later_than_3.6
在 Archlinux 上我是这样做的:
-
在
~/.xprofile
中加入输入法配置:export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx
-
在 ArchLinux 上似乎并不能删除 ibus-daemon,因为它属于软件包 ibus。。。所以我们只要设置 fcitx 自启动就可以了。
使用gnome-session-properties
添加一个 fcitx 的启动程序。 -
最后禁用 gnome-settings-daemon 的键盘动作:
$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
Archlinux 上 virtualbox 启用 host-only。
- 首先在启动的时候加载以下模块
- vboxdrv
- vboxnetadp
- vboxnetflt
- 然后在
File-Preferences-Netowrk
中启动一个 host-only 的网络。 - 最后应该可以在相关虚拟机的设置里启用 host-only 网络了
ssh 单一用户登录限制
为了防止某一用户重复登陆,也为了防止滥用资源,我们可以用 PAM 来作限制以达到单点登陆的目的。
-
确保 /etc/pam.d/sshd 里添加了 “pam_limits.so”,一般情况下 Debian 系的发行版已经添加。
session required pam_limits.so
- 在 “/etc/security/limits.conf” 里添加 “USERNAME – maxlogins 1″,意思是 UERNAME 这个用户的最大登录用户数为1,当然也可以用 * 来代表所有用户。
-
重启 ssh 服务
/etc/init.d/ssh restart
,超过限制数的 SSH 登录就会提示Too many logins for 'USERNAME'.
debian 下 crontab 的时区设置
debian 中设置的 crontab 不能按时执行,而是按了 UTC 时间来执行了这个脚本,而 VPS 中的 localtime 已经设置成了 PRC。运行了一下 tzselect 重新选取了时区,crontab 终于能按时执行了。。。
Google 了一圈,发现原来 debian 下面的 crontab 是不会根据 /etc/localtime 来的,而是要读取 /etc/timezone 中的时区设置。