解决Linux桌面初始化问题

news/2024/9/7 0:29:29 标签: linux, 运维

问题

启动vnc桌面,提示问题

在这里插入图片描述

定位

从[t]csh手册
在这里插入图片描述

可以看到,其初始化流程
在这里插入图片描述

经定位,是.cshrc的这段代码存在,导致桌面初始化异常。

[wanlin.wang@icinfra-cn-172-16-0-115 ~]$ cat .cshrc
...部分省略...
# Environment for anaconda3/4.4.0
setenv PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/bin:$PATH
if ($?LD_LIBRARY_PATH) then
    setenv LD_LIBRARY_PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/lib:$LD_LIBRARY_PATH
else
    setenv LD_LIBRARY_PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/lib
endif

思路

用户需要在.cshrc文件里加载各种各样的工具与库路径,以期望一开桌面/terminal,所需工具立即可用。但在桌面初始化时却导致了失败。

因此,管理员需要从.cshrc入手,检测到桌面启动时,就立即终止往下source;而其它场景时,则继续往下source。也可以将这部分公共代码抽出来,放到公共cshrc里,供用户在.cshrc第一行进行source。

解决

.cshrc样例

# For init desktop. Here we assume "icinfra-cn-" is the desktop hostname's prefix.
if ($?SHLVL && $SHLVL == 1 && ! $?SSH_TTY && ("$HOSTNAME" =~ icinfra-cn-*)) then
    exit
endif

# For init environment modules.
source /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/environment-modules-5.4.0-uiudomq3q3xmgulxntqouamwlt6krxpa/init/csh
setenv MODULEPATH /tools/oss/spack/share/spack/modules/linux-almalinux8-x86_64_v4

# For anaconda3/4.4.0
setenv PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/bin:$PATH
if ($?LD_LIBRARY_PATH) then
    setenv LD_LIBRARY_PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/lib:$LD_LIBRARY_PATH
else
    setenv LD_LIBRARY_PATH /tools/oss/spack/opt/spack/linux-almalinux8-x86_64_v4/gcc-8.5.0/anaconda3-4.4.0-zpdh67mbu2fubypa6uqtgkrl5syel2hz/lib
endif

在这里插入图片描述


http://www.niftyadmin.cn/n/5567764.html

相关文章

详细分析Springboot自定义启动界面(附Demo)

目录 前言1. banner.text1.1 配置文件关闭1.2 启动类关闭1.3 命令行关闭 2. 自定义Banner类3. 自动配置类4. 总结 前言 实现自定义启动动画是一项有趣的任务,虽然Spring Boot本身不提供内置的动画功能,但可以通过一些技巧来实现 以下主要以Demo的形式展…

MySQL面试索引篇

1、什么是索引? 作为一个数据库,首要任务就是把数据存储好,并快速查询出用户需要的数据,而索引就相当于图书的目录一样,是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。 …

如何使用Java读取Excel文件到List>格式

引言 在开发过程中,我们经常会遇到需要读取Excel文件并将数据转换成Java对象的需求。Apache POI是一个强大的库,它提供了读取和写入Microsoft Office格式文件的功能,包括Excel。本文将指导你如何使用Apache POI读取Excel文件,并将…

力扣高频SQL 50 题(基础版)第四题

文章目录 力扣高频SQL 50 题(基础版)第四题584.寻找用户推荐人题目说明思路分析实现过程准备数据实现方式结果截图 力扣高频SQL 50 题(基础版)第四题 584.寻找用户推荐人 题目说明 表: Customer -------------------- | Colu…

【常见开源库的二次开发】基于openssl的加密与解密——MD5算法源码解析(五)

一、MD5算法分析 : 1.1 关于MD5 “消息摘要”是指MD5(Message Digest Algorithm 5)算法。MD5是一种广泛使用的密码散列函数,它可以生成一个128位(16字节)的散列值。 RFC 1321: MD5由Ronald Rivest在1992…

构建高效Node.js中间层:探索请求合并转发的艺术

🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【CSS盒模型:掌握网页布局的核心】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞👍收藏⭐评论✍ 引言&#x…

TiDB分布式数据库索引

TiDB索引 主键索引1 聚簇索引2 非聚簇索引对比 TiDB的索引可以分为主键索引和二级索引。主键索引就是在主键字段上建立的索引,二级索引是在非主键字段上建立的索引。 主键索引 1 聚簇索引 表的数据在存储的时候就是按照主键字段进行排序存储的,由于表…

昇思25天学习打卡营第17天|LLM-基于MindSpore的GPT2文本摘要

打卡 目录 打卡 环境准备 准备阶段 数据加载与预处理 BertTokenizer 部分输出 模型构建 gpt2模型结构输出 训练流程 部分输出 部分输出2(减少训练数据) 推理流程 环境准备 pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspo…