V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jiqing
V2EX  ›  问与答

root 安装 zsh 更改主题之后,普通用户无法应用主题样式的问题

  •  
  •   jiqing · 2018-07-01 11:07:06 +08:00 · 4359 次点击
    这是一个创建于 2366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图。说来很惭愧,最近才刚知道 zsh 漂亮的主题和强大的插件。现在一个问题求助大家一下。

    安装 zsh 和 oh my zsh 都是在 sudo su 提权或者是直接 su 切换 root 用户时候使用的,但是退出 root 之后 zsh 的样式就消失了。

    我试着把普通用户的默认 shell 也换成了 zsh,/root/.zshrc 文件复制到了 /home/user/.zshrc 下,source 也试了,oh my zsh 文件夹也复制到了 user 文件夹里,普通用户依然无法使用 zsh 的样式。

    PkYPeS.md.png

    现在才有一种无力感,之前一直是目的驱动学习,遇到什么问题就去百度解决办法,经常就是直接拿来照搬,导致基础相当薄弱,有心想解决都没有思路。求助一下 v 站的各位大佬,如何让 zsh 的样式在普通用户下也依然适用

    29 条回复    2018-12-16 11:29:30 +08:00
    zwpaper
        1
    zwpaper  
       2018-07-01 11:10:49 +08:00 via iPhone   ❤️ 1
    安装 oh my zsh 别用 sudo 试试
    jiqing
        2
    jiqing  
    OP
       2018-07-01 11:13:52 +08:00
    @zwpaper #1 从前都是 root 敢死队。Fedora 现在的安装默认没有设置 root 密码了,只有通过 sudo su 临时提权。我试试换个 root 密码
    ynyounuo
        3
    ynyounuo  
       2018-07-01 11:18:26 +08:00   ❤️ 1
    「经常就是直接拿来照搬」

    那就别用 oh-my-zsh 这种厚重的配置,尝试自己写配置就知道每个用户的 shell 配置是从哪几个地方读取的了。也能分清 rc,profile 和 env 等的区别。
    jiqing
        4
    jiqing  
    OP
       2018-07-01 11:27:24 +08:00
    @zwpaper #1 我卸载了重装 oh my zsh,也是一样的问题。搞不清楚是哪里的问题
    ![PkYwwD.png]( https://s1.ax1x.com/2018/07/01/PkYwwD.png)
    jiqing
        5
    jiqing  
    OP
       2018-07-01 11:29:28 +08:00
    @ynyounuo #3 之前一直是 root 用户登录的,后来觉得风险太大就不冒这么大风险。关于 shell 这些我当真的不清楚,仅仅是在逼乎上看到一群人吹嘘我就跟个风。之前一直是 root 用户感觉很爽,退回普通用户之后才发现这些问题,搞不清楚哪里的问题。我先看看 shell 配置?
    cyspy
        6
    cyspy  
       2018-07-01 12:07:50 +08:00 via Android   ❤️ 1
    官方脚本是装在~/.oh-my-zsh 下的,当前用户没有 /root 的权限当然不行。不带 sudo 重装一遍就是了。另外,root 用户一般不搞这些,tty 显示都不一定能保证
    imn1
        7
    imn1  
       2018-07-01 12:46:23 +08:00   ❤️ 1
    1.是否 root 权限启动 zsh ?
    2.复制配置,改了权限没有?
    3..bashrc 呢?
    zwpaper
        8
    zwpaper  
       2018-07-01 13:07:14 +08:00 via iPhone   ❤️ 1
    @jiqing 直接用用户帐号转就行,别用 root 权限装
    0x338
        9
    0x338  
       2018-07-01 13:45:21 +08:00
    @jiqing
    普通賬戶安裝即可。
    錯誤信息寫的很清楚,這就是一個文件權限問題。
    目的驅動學習沒有問題,可照抄照搬就是所謂的學習嗎。
    jiqing
        10
    jiqing  
    OP
       2018-07-01 14:02:15 +08:00
    @zwpaper #8 账户没权限,sudo 提权之后安装,普通用户也没有
    jiqing
        11
    jiqing  
    OP
       2018-07-01 14:03:25 +08:00
    @0x338 #9 那个文件和文件夹给我上了 777 权限还是报着这种错
    0x338
        12
    0x338  
       2018-07-01 14:55:14 +08:00
    @jiqing 看我回覆的第一條,爲什麼不用普通用戶安裝呢?
    你至少要把文件拷貝出來,普通用戶連 /root 都進不去。
    要 777 也是 chmod -R 777 /root/
    jiqing
        13
    jiqing  
    OP
       2018-07-01 15:00:24 +08:00
    @0x338 普通用户安装都没有权限,执行安装 oh my zsh 的那条语句都执行不了。
    oh my zsh 的文件夹都考到了 home/use,都试了
    chmod 还用你教
    0x338
        14
    0x338  
       2018-07-01 15:03:59 +08:00
    @jiqing 你普通用戶沒有 root 權限怎麼去執行那個 shell 腳本?況且官方安裝腳本並不需要特殊權限。解決不了問題就氣急敗壞? 已 block
    chinvo
        15
    chinvo  
       2018-07-01 15:13:56 +08:00   ❤️ 1
    @jiqing #2

    @zwpaper #1 让你不要用 sudo / su,你说你改密码试试……
    jiqing
        16
    jiqing  
    OP
       2018-07-01 15:24:33 +08:00
    @chinvo 现在安装 Fedora,安装引导界面没有设置 root 的选项了。我也不知道 root 密码。只有改了之后才能用 su
    chinvo
        17
    chinvo  
       2018-07-01 15:26:22 +08:00   ❤️ 1
    @jiqing #16 我现在深刻感觉你中文阅读能力和一般人有一些差异
    jiqing
        18
    jiqing  
    OP
       2018-07-01 15:35:30 +08:00
    @chinvo #14 也有可能是知识储备不够,理解的偏差太大
    edoras
        19
    edoras  
       2018-07-01 15:36:01 +08:00   ❤️ 1
    你不要用 sudo su 安装,尝试给你的 user 加入 sudo 权限,然后用你 user 下的 sudo 安装。安装完后把$HOME 下的.oh-my-zshr & .zshrc 都 link 回 root。 这样一来两边都有了
    jiqing
        20
    jiqing  
    OP
       2018-07-01 15:36:48 +08:00
    @chinvo #14 不用 sudo su,只能用 su 了。在安装 Fedora 的时候没有设置 root 密码的选项,之能自己去改才能用
    jiqing
        21
    jiqing  
    OP
       2018-07-01 15:39:16 +08:00
    @chinvo #12 卧槽,我刚看到 sudo 和 su 之间有个 /
    chinvo
        22
    chinvo  
       2018-07-01 15:39:27 +08:00   ❤️ 1
    @jiqing #20 我在#15 说“不要用 sudo / su ”

    sudo 和 su 和以 root 登陆可以理解为是一样的

    不要在执行安装 oh-my-zsh 的指令前面加 sudo

    不要先执行 su (或者 sudo su )再执行安装 oh-my-zsh 的指令

    不要用 root 登陆之后(在一般用户中执行 su = 换 root 登陆)再执行安装 oh-my-zsh 的指令
    chinvo
        23
    chinvo  
       2018-07-01 15:40:40 +08:00   ❤️ 1
    另外 oh-my-zsh 的设计思想是每个人不同,不要共用 .oh-my-zsh 文件夹和 .zshrc 文件
    edoras
        24
    edoras  
       2018-07-01 15:58:48 +08:00   ❤️ 1
    @chinvo Well, a good practice for that should be storing a barely minimal zshrc setting somewhere and linking it to every user's .zshrc as


    export ZSH=$ZSH:/some/absolute/dir/with/zshrc/:/some/absolute/dir/with/alias
    zwpaper
        25
    zwpaper  
       2018-07-01 23:20:19 +08:00 via iPhone   ❤️ 1
    我记不清安装 oh my zsh 到底需不需要 sudo 了,但是我理解应该不需要,我也扫了一眼 oh my zsh 的 install.sh ,并没有发现需要 sudo 的地方
    zwpaper
        26
    zwpaper  
       2018-07-01 23:20:48 +08:00 via iPhone   ❤️ 1
    明天要有空,我新装一个试试
    jiqing
        27
    jiqing  
    OP
       2018-07-29 13:44:55 +08:00
    我来更一下,问题半个月后解决了。也算是没解决。
    很奇怪,普通用户再执行安装 zsh 和 oh myzsh 的命令的时候就没问题了,没有再提示权限不足的问题,成功安装也改了主题。
    很迷
    xiebruce
        28
    xiebruce  
       2018-11-19 17:43:51 +08:00
    @imn1 普通装也解决不了共用的问题,普通用户装,明显是安装到当前用户的家目录下,在 root 目录下根本就没有.oh-my-zsh,每个要用 oh-my-zsh 的用户都要安装一次,包括 root 用户自己,除非是 Mac,Mac 倒是可以用普通用户安装,但 root 也可用,只不过会报一个错误,在.zshrc 里加个配置即可解决:ZSH_DISABLE_COMPFIX=true
    jiqing
        29
    jiqing  
    OP
       2018-12-16 11:29:30 +08:00 via Android
    时隔半年再过来看看,有一种迷之感觉。当时对账户管理没有那么深的理解。虽然这半年好像也没有什么刻意去学习的,突然明白了。
    普通账户和 root 账户是两个账户,安装 zsh 和 omzsh 也仅仅是在当前用户上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 01:54 · PVG 09:54 · LAX 17:54 · JFK 20:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.