做这件事的意义
最近在装linux的时候,了解到一款好用的shell--fish
然而在按照wiki教程把fish作为登录shell之后
我的linux登录不上了。
查了一下,网上有人建议不要将fish设置成默认的shell。。。
这显然不靠谱嘛
有了图形界面之后,每次登陆之后还要手敲一个startx进去
总之各种不方便
步骤
在第一次登录启动图形界面,其他时候启动fish
本例中默认shell是bash
如果使用的不是bash,请自行查找资料确定启动时调用的脚本。
修改~/.bashrc
,在文件尾加入以下内容:
logged_count = `who | wc -l`
if [ $logged_count == 1 ]
then exec startx
else exec fish
fi
其意义是在bash初始化时获取当前登录的用户数量,如果是1个,则启动图形界面(如果启动图形界面的命令不是startx,则替换成相应的命令即可)
如果登录用户多于1个,则启动fish。
实际测试结果比较理想,既可以达到自动启动图形界面的目的,又可以免去只能登陆一个终端的尴尬。
(不过判断方式比较简单粗暴,只适用于个人用户在自己的主机使用,如果需要远程登录的话得手动启动图形界面,相信了解远程登录的用户也可以解决这种问题。)
如果只需要启动fish
只需要在~/bashrc
最后添加一句话:
exec fish
即可。