我已经在用于 Lando 的 Docker 镜像中安装了 zsh 和 oh-my-zsh,但在使用 进入时我似乎无法更改默认 shell lando ssh
。
Oh-my-zsh 正在使用CHSH=yes
参数安装,但似乎没有效果。
我试过:
- 创建
.profile
包含以下内容的文件:
export SHELL=`which zsh`
[ -z "$ZSH_VERSION" ] && exec "$SHELL" -l
- 创建一个
.bash_profile
包含以下内容的:
export SHELL=/bin/zsh
exec /bin/zsh -l
...正如这个答案所建议的那样。
但我总是登录到/bin/bash
。
但是,当我输入时zsh
,我输入了 zshell 并且我的.zshrc
应用已成功。
我该如何修复此问题?
这是完整的 Docker 镜像构建脚本。它不包含上述尝试。我在容器本身中尝试了这些尝试,然后重新启动容器,并再次通过 SSH 连接到容器。镜像是公开的,可在此处获取:slimdeluxe/php:8.3-v1.1
FROM devwithlando/php:8.3-fpm-4
# Upgrade system
RUN apt-get update && apt-get -y upgrade
# Install system tools
RUN apt-get install -y tree nano
# Install locales
RUN apt-get install -y locales locales-all
# Add PHP extension helper
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
# Install PHP extensions
RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
install-php-extensions sqlsrv pdo_sqlsrv
# Install Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs
# Instal/update NPM
RUN npm install npm --global
# Install build dependencies for screen
RUN apt-get install -y build-essential libncurses5-dev automake texinfo wget \
git libtool pkg-config m4 perl
# Install newer Autoconf version
RUN wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \
tar -xzf autoconf-2.71.tar.gz && \
cd autoconf-2.71 && \
./configure && \
make && \
make install && \
cd .. && \
rm -rf autoconf-2.71 autoconf-2.71.tar.gz
# Download, compile and install screen 5.0.0
RUN wget https://ftp.gnu.org/gnu/screen/screen-5.0.0.tar.gz && \
tar -xzf screen-5.0.0.tar.gz && \
cd screen-5.0.0 && \
./autogen.sh && \
./configure && \
make && \
make install && \
cd .. && \
rm -rf screen-5.0.0 screen-5.0.0.tar.gz
# Install zsh and ohmyzsh
RUN apt-get install -y zsh
USER www-data
RUN cd /var/www && \
wget https://install.ohmyz.sh -O install.sh && \
CHSH=yes RUNZSH=no KEEP_ZSHRC=no sh install.sh && \
rm install.sh
# Create default .zshrc in home directory
RUN echo 'export ZSH="$HOME/.oh-my-zsh"\n\
ZSH_THEME="crunch"\n\
plugins=(git laravel)\n\
source $ZSH/oh-my-zsh.sh\n' > ~/.zshrc
USER root