误删用户shell导致无法登录桌面
事情是这样的:我的默认shell是zsh,某一天我吃错药sudo pacman -R zsh了一下,后来就无法登录桌面了
怎么办呢?
用root身份登录 然后运行以下命令
chsh -s /bin/bash username
这将把用户的shell设置为bash
然后
su - username
切换到用户的shell
echo $SHELL
检查$SHELL变量,若输出为/bin/bash就设置成功了
然后reboot就能正常登录桌面了
终端prompt乱码出现问号
1 检查LANG环境变量
echo $LANG (正确的输出应为en_US.UTF-8)
2 修改LANG环境变量的配置文件
vim /etc/locale.conf
在文件里输入下面一行
LANG=en_US.UTF-8
3 确认修改
source /etc/locale.conf
pacstrap找不到也无法下载
用到安装arch时烧录的U盘
打开电脑登录U盘Arch后,
lsblk
swapon /dev/sda1
mount /dev/sda2 /mnt (设备名称可能不同)
cp $(which pacstrap) /mnt/home/your-username
然后关机拔掉U盘 登录后
sudo mv pacstrap /usr/bin/
之后终端输入pacstrap命令就有了
乱tm改文件系统权限导致系统命令无法执行
执行以下命令 感受重装系统的快乐
sudo chmod -R o-rwx /
我当时是这样想的:我把others的rwx权限一改,用filezilla连接sftp的时候就可以限制user对家目录以外文件的操作了 然后就。。。
如果没有备份,没有系统快照,那恐怕只能重装了 点我重装
还好,不用从头装:
rm -r /mnt (挂载后删除整个/目录)
然后接着 pacstrap /mnt 那一步往下就可以了