目前在学习Debian,然后发现一路都是坑,与之前接触的Ubuntu在使用上还是有点差别的。Debian更加原生,也更加稳定,坑也更多。为了防止后来者继续踩坑,特意写了此文用于记录总结初学者在学习过程中遇到的各种问题。
切换系统语言环境
在Debian系统中,若是设置了中文环境后,在终端进行操作时,将会遇到中文错误提示等信息显示为乱码的问题。这时候,部分朋友选择了重新安装系统。然而,其实并不用重新安装,只要进行语言的切换就可以了。
命令行执行:
$ sudo dpkg-reconfigure locales
将打开一个选择语言的窗口,在此窗口中选择英文环境的字符集项,此例中选择en_US.utf-8,即按空格选中复选框,将中文环境的包 (zh_CN.utf-8
) ,将复选框去掉选择后敲回车,确定安装即可。
可使用以下命令查看是否安装成功:
$ locale -a
系统将输出如下内容:
1 | C |
然后输入$ reboot
重启系统即可。
若是担心英文环境下操作不方便也可切换为繁体中文(zh_HK.utf-8
)
gedit找不到命令
直接重装下gedit即可。
打开终端,输入代码:
sudo apt-get remove gedit
回车后输入:
sudo apt-get install gedit
中文输入法不可用
系统刚刚装好后随即安装了fcitx-googlepinyin输入法,发现输入法各种ctrl+space或者ctrl+shift一通乱按就是什么也看不到,几经折腾发现是因为根本就没有Ui控件…
还需要安装输入法前端所需要的ui动态库
打开终端,输入:
1 | apt-get install fcitx-ui-classic && apt-get install fcitx-ui-light |
安装完成后打开fcitx的配置工具,根据需要删除掉不需要的输入法。
然后reboot
重启系统,就可以看到按下快捷键后输入法弹出来了。然而这里又有一个坑,因为 输入法默认字号是零 ,记得在Appearance页签内重新设置字号。
更新163源
终端输入:
1 | gedit /etc/apt/sources.list |
复制以下内容保存即可
deb http://mirrors.163.com/debian/ stretch main non-free contrib
deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
直接保存即可
然后运行下面的命令用于更新配置
apt-get update
切换系统用户
更新源的时候可能会遇到无法保存的问题,是因为这个权限不够,这时候有两个办法。
这里先说第一个办法,切换系统用户到root后再执行上述命令。
1 | su root |
然后会让你输入root用户密码,此处密码无输入效果。输入后按回车即可。
然后就可以看到看到系统用户已经成功改为root最高权限用户了。
以此类推,切换回原来用户只需要再执行一遍su username
指令后输入该用户对应的密码即可。
另外,sudo su
指令同样可以切换用户。但是可能会报下面的错误
sudo指令报错
上面说的另一个办法就是在语句前加sudo 用临时权限执行。
初次使用这个指令可能会报错:
当前用户不在sudoers文件(/etc/sudoers)里面,直接使用sudo命令是不允许的,会被系统记录并向root反馈
处理这个问题很简单,但应该先理解其原理再操作。
首先要明白root的密码一般用户是不应改知道的,但一般用户有时可能要用到root的一些权限。
这里就有了一个 /etc/sudoers 文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限。这些用户使用sudo时输入的密码是当前用户密码,而不是root密码。还可一在sudoers文件里限制一般用户的权限,这样就有了安全保证。
那么我们就来解决这个问题:
切换到root用户
$ su root
查看/etc/sudoers权限
$ ls -all /etc/sudoers
更改权限为777
$ chmod 777 /etc/sudoers
编辑/etc/sudoers
$ vi /etc/sudoers
这个命令的意思是使用vi编辑器打开文件。
添加当前用户
可以看到打开的文件内容为:
root ALL=(ALL:ALL) ALL
在后面追加一行
vick ALL=(ALL:ALL) ALL
vi中刚进去是命令模式 按
i
或者insert
进入编辑模式,编辑完了之后按ctrl+c或者esc退出编辑模式。之后输入命令:wq
,保存离开。把/etc/sudoers权限改回原来数据
$ chmod 690 /etc/sudoers
这里也可以不查看及修改权限,直接用root用户打开并修改文件后,使用:wq!
指令强制保存并离开。不过最好重新打开看下有没有保存成功