Linux日常小记_3

一:终端配置文件

终端的配置文件(针对bash)主有下面几个:

1. /etc/profile
2. /etc/profile.d 目录
3. /etc/bashrc
4. $HOME/.bash_profile
5. $HOME/.bashrc
6. $HOME/.bashlogout

1.1 /etc/profile

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

It's NOT a good idea to change this file unless you know what you
are doing. It's much better to create a custom.sh shell script in
/etc/profile.d/ to make custom changes to your environment, as this
will prevent the need for merging in future updates.

所以如果你有对/etc/profile有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效。
值得注意的是,这个配置对zsh也是生效的,而/etc/bashrc却只对bash生效,而对其它的shell不起作用

1.2 /etc/bashrc

为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.同样的,这个配置文件也不建议修改。
如果你想对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。

1.3 $HOME下的配置文件

$HOME下的文件均只对当前用户生效,其功能和上面的功能完全相同.

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

此文件类似于/etc/profile,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

二:手动双面打印

  1. 正常方式单面打印
  2. 用数页的方式将整个文本倒置(整体上面页面倒置,最大页在最上面)
  3. 背面朝上,上下不颠倒的方式插入纸槽
  4. 打印偶数面即可
  5. 将打印好的页面再用数页的方式重置即可

三、字体的优先级设置

在linux下,发现安装了simsun.ttc之后,发现终端的中文部分就发生了变化,说明系统默认情况下simsun的字体优先级是早于文泉驿的。这个时候只需要提高文泉驿的字体的优先级即可。相应的配置文件为/etc/fonts/conf.d/65-nonlatin.conf,只需要修改一下其中不同情况下的字体顺序即可(如果觉得simsun不好看,可以直接删除)

四、ssh之免密码登陆

免密码登陆的原理很简单,即是使用一组密钥来配对,从而代替密码来登陆。首先需要生成一对配对密钥,生成方法:

$ ssh-keygen -t rsa -f /path/to/filename -C "your@email.com"
    其中:  -t rsa 密钥类型
            -f /path/to/filename 生成的文件名(包含路径)
            -C "your@email.com" 备注

这样就会生/path/to/filename和/path/to/filename.pub这两个文件。如果直接运行ssh-keygen,那么就会直接生id_rsa和id_rsa.pub这一对文件。注意,如果不想要使用密钥登陆的时候还需要密码(更加保险的一种做法),生成过程输入密码时,直接回车即可。

id_rsa      私钥,个人所有,重要,不能公开,做好备份和保密
id_rsa.pub  公钥,远程机器所有,可以公开。

将id_rsa.pub复制到远程机器的$HOME/.ssh下,然后将内容导入到$HOME/.ssh/authorized_keys文件中去,如果没有这个文件,就创建它即可,方法:

$ cat id_rsa.pub >> $HOME/.ssh/authorized_keys

注:authorized_keys中可以包含多组公钥
为了保证该文件不被别人修改,所以需要将该文件和其上级目录的权限均设置为只有自己可见。

$ chmod 600 $HOME/.ssh/authorized_keys
$ chmod 700 $HOME/.ssh

注意,本地ssh会默认使用$HOME/.ssh/id_rsa这个文件,即需要修改私钥文件名,当然使用-i来指定相应的私钥也是可以的,对于有多组私钥的情况下,可以使用ssh代理来完成。

五、zsh无法使用colors等函数

错误代码

/home/username/.zshrc:5: colors: function definition file not found
/home/username/.zshrc:131: compinit: function definition file not found
bash: compdef: command not found...
/home/username/.zshrc:170: command not found: compdef
bash: compdef: command not found...
/home/username/.zshrc:171: command not found: compdef
/home/username/.zshrc:281: zsh-mime-setup: function definition file not found
/home/username/.zshrc:335: compinit: function definition file not found
/home/username/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh:473: add-zsh-hook: function definition file not found

原因:FPATH没有正确的设置,导致无法发现function的位置
解决方案:添加FPATH值
在~/.zshrc开头添加:

export FPATH=$FPATH:/usr/local/share/zsh/site-functions:/usr/share/zsh/vendor-functions:/usr/share/zsh/vendor-completions:/usr/share/zsh/functions/Calendar:/usr/share/zsh/functions/Chpwd:/usr/share/zsh/functions/Completion:/usr/share/zsh/functions/Completion/AIX:/usr/share/zsh/functions/Completion/BSD:/usr/share/zsh/functions/Completion/Base:/usr/share/zsh/functions/Completion/Cygwin:/usr/share/zsh/functions/Completion/Darwin:/usr/share/zsh/functions/Completion/Debian:/usr/share/zsh/functions/Completion/Linux:/usr/share/zsh/functions/Completion/Mandriva:/usr/share/zsh/functions/Completion/Redhat:/usr/share/zsh/functions/Completion/Solaris:/usr/share/zsh/functions/Completion/Unix:/usr/share/zsh/functions/Completion/X:/usr/share/zsh/functions/Completion/Zsh:/usr/share/zsh/functions/Completion/openSUSE:/usr/share/zsh/functions/Exceptions:/usr/share/zsh/functions/MIME:/usr/share/zsh/functions/Misc:/usr/share/zsh/functions/Newuser:/usr/share/zsh/functions/Prompts:/usr/share/zsh/functions/TCP:/usr/share/zsh/functions/VCS_Info:/usr/share/zsh/functions/VCS_Info/Backends:/usr/share/zsh/functions/Zftp:/usr/share/zsh/functions/Zle

然后再source ~/.zshrc即可

六、解决zsh下tmux颜色设置问题

今天发现在tmux下的的vim颜色总是不正常,然后使用网上的相关方案:使用$TERM

$ echo 'export $TERM="screen-256color"' >> ~/.tmux.conf

然而发现并不顶用,在tmux下打后:

$ echo $TERM
xterm-256color

研究后发现,原来是tmux又重新加载了.zshrc的内容,所以里面的

export $TERM=xterm-256color

又被执行了.使得$TERM看起来像是没有什么变化一样.开始我总是认为.tmux.conf没有生效.后来发现并不是那么一回事.
将上面那句话改为:

[[ $TMUX = "" ]] && export TERM="xterm-256color"

实际上,xterm并不是最好的选择,若是gnome-shell的话,最好选择gnome-256color

七、WordPress下中英文字体设置

在wordpress中,想要设置一下css样式,让某种样式的字体为等宽字体,但是同时也希望中文字体能好看一点。由于在css设置font-family时,优先选择前面的字体,而某些字体则只有英文,没有中文,这样css就会自动选用后面字体来渲染中文。同时也要考虑到linux下和windows下字体库的不同之处,自然要选择最常用的字体。

下面是字体设置方案:

'DejaVu Sans Mono','Courier New','Microsoft YaHei',微软雅黑,'WenQuanYi Micro Hei',SimSun,sans-serif;

做到中英文均为等宽字体,且兼顾了windows和linux下的字体库,同时也使得中文相对更加好看一点。

八、mount挂载samba盘

以前常用的是:

$ mount -t smbfs -o username=xxx,password=xxx //hostname/dir /media/dir
mount: unknown filesystem type "smbfs’

很明显出错了,无法识别smbfs文件系统类型了。原因是,Common Interternet File Systemcifs(cifs)取代了smbfs,可以试着使用下面:

$ mount -t cifs -o username=xxx,password=xxx //hostname/dir /media/dir

九、刻录windows引导盘

对于直接该DVD来说,可以使用cdrecord,对于原装安装盘可以直接刻录引导。

$ cdrecord -v </dev/cdrom> <./windows7.iso>

如果是使用u盘启动盘或移动硬盘的话,那么就需要使用dd

10: Solve “Resume Printer” with root password

Problem: When resume printer , the root password is required, I want to resume printer without password.

Solution: The printer setting (CUPS server configuration) is located in /etc/cups/cupsd.conf and /etc/cups/cups-files.conf。In cupsd.conf file, There is a mirco GROUP named SYSTEM which is SystemGroup defined in /etc/cups/cups-files.conf, you can add current username to this groups and then restart org.cups.cupsd.service.

Here is they specific way under arch(2017):

$ vim /etc/cups/cups-files.conf
# Add your user name after "SystemGroup"
# Which looks likes follow:
#   SystemGroup sys root username
# and then save exit
$ systemctl restart org.cups.cupsd.service
此条目发表在LINUX分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。