我在我的全新amazon EC2实例上使用sudo yum install tcsh
命令安装了c shell,但我不确定它是否真的有效,因为echo $SHELL
命令始终返回/bin/bash
。我不确定我做错了什么。
[ec2-user]$ which csh
/bin/csh
[ec2-user]$ sudo csh
[root]# echo $SHELL
/bin/bash
[root]# sudo chsh
Changing shell for root.
New shell [/bin/bash]: /bin/csh
Shell changed.
[root]# echo $SHELL
/bin/bash
[root]#
答案 0 :(得分:0)
这对我有用:
union gbm_bo_handle handleUnion = gbm_bo_get_handle(m_Fb->bo);
struct drm_omap_gem_info gemInfo;
char *gpuMmapFrame = NULL;
gemInfo.handle = handleUnion.s32;
int ret = drmCommandWriteRead(m_DRMController->m_Fd, DRM_OMAP_GEM_INFO,&gemInfo, sizeof(gemInfo));
if (ret) {
qDebug() << "Cannot set write/read";
}
else {
// Mmap the frame
gpuMmapFrame = (char *)mmap(0, gemInfo.size, PROT_READ | PROT_WRITE, MAP_SHARED,m_DRMController->m_Fd, gemInfo.offset);
if ( gpuMmapFrame != MAP_FAILED ) {
QElapsedTimer timer;
timer.restart();
//m_OGLController->neonCopyRGBAtoRGBA((uchar*)gpuMmapFrame, (uchar*)m_cpyFrame,dmaBuf.width * dmaBuf.height);
memcpy(m_cpyFrame,gpuMmapFrame,dmaBuf.height * dmaBuf.width * 4);
qDebug() << "Copy Performance: " << timer.elapsed();
我想从bash更改为zsh,但您可以使用sudo chsh -s $(which zsh) $(whoami)
代替。您可能需要在以后重新启动实例。
答案 1 :(得分:0)
Amazon Linux 2 未安装 chsh
。因此,在运行 chsh
之前,您必须先安装它。
sudo yum install util-linux-user
如果您想更改您当前登录的帐户的外壳(例如,您登录时使用的 ec2-user
或其他非 root 用户),那么您可以运行 {{1} } 交互。没有必要使用 chsh
(正如另一个答案所说)。
要为您以外的其他人(例如 root、其他用户)更改 shell,您确实需要使用 sudo
。
也不需要重启。更改将在您下次登录时生效。出于安全考虑,您可能希望从不同的窗口登录(即,在一个窗口中保持登录状态,同时在另一个窗口中测试 shell 更改),以防您输入错误而无法返回。< /p>