linux 相关:ubuntu 设置 .bashrc之后 重登不起作用

关于ubuntu18系统~/.bashrc文件中ros环境无法生效问题 项目场景: ubuntu18+melodic 问题描述: 这几天一直遇到一个问题,就是ubuntu18中ros的环境问题,最开始的时候是一直用到好好的ros系统,突然说无法识别roscore命令 搞得我一脸懵逼,最后无意中发现只要把source /opt/ros/melodic/setup.bash这句话放到~/.bashrc文件中的最后面就行了,也是很奇怪。 但是!!!在roslaunch或rosrun 运行自己的功能包的时候却出现找到功能包的情况。 我真的是傻了,这个问题我参考了别的博客(链接: 阅读详情

ubuntu 设置 .bashrc之后 重登不起作用

1. 问题

用户身份登陆ubuntu服务器,用户目录新建.bashrc文件并source之后设置生效,但是使用ssh重登之后发现之前的设置不再生效。

2. 原因

默认情况,.bashrc文件需要手动执行,比如每次登陆可以使用source .bashrc来使之立马生效。

3. 解决

新建一个.profile文件,添加自动运行.bashrc的配置信息

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

同理,如果root身份下的bashrc等文件发现每次都需要重新 source 才能生效的话,去检查一下 profile文件,是否有类似如下的设置:
(这里拿/etc/bash.bashrc作为例子)

if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc

参考:ubuntu 用户修改.bashrc之后,每次登录需要运行source命令才生效

Linux环境变量与Shell变量:原理、读取、配置全解析 环境变量是Linux进程间传递配置信息的核心机制,本质为execve系统调用传递的char *envp[]内存块;Shell变量则仅存在于解释器进程栈中,需export才能升格为环境变量。其技术价值在于实现跨进程、跨会话、跨用户层级的运行时配置分发,支撑PATH路径解析、JAVA_HOME定位、ANDROID_HOME集成等关键场景。在终端调试、shell脚本编程、adb shell自动化、initramfs紧急恢复及国产Linux发行版(如统信UOS、麒麟)适配中,准确读取(printenv/env/de 阅读详情

相关推荐

Ubuntu 20.04下Anaconda安装与科学计算环境构建指南

Python科学计算环境的核心挑战在于依赖隔离、二进制兼容与系统安全共存。conda作为跨平台包与环境管理器,通过自包含运行时、预编译二进制分发及独立于系统Python的沙箱机制,解决了Linux发行版(如Ubuntu 20.04)中apt与pip协同失效、glibc版本冲突、CUDA/BLAS等底层库耦合等典型问题。其技术价值体现在可复现性保障、多Python版本并行支持及Jupyter内核深度集成,广泛应用于AI建模、生物信息分析、数据可视化等场景。本文聚焦Ubuntu 20.04这一长期支持版本,详解

weixin_33884611的博客 468

Ubuntu 20.04 Anaconda 生产就绪部署指南

Anaconda 是面向数据科学的 Python 发行版,其核心价值在于统一的包管理、环境隔离与跨平台可复现性。在 Linux 系统中,它通过 conda 实现对 Python 解释器、C/C++ 库(如 glibc)及二进制依赖的协同管控。Ubuntu 20.04 因系统级约束(如默认 glibc 2.31、systemd --user 环境变量劫持、GNOME 桌面不加载 .bashrc)导致 conda 初始化失败、GUI 应用无法识别环境、import 报 GLIBC 版本错误等典型问题。解决关键在

weixin_30847865的博客 374

Ubuntu新手入门到进阶:从安装配置到开发环境搭建全攻略

Linux操作系统作为开源生态的核心,以其高度的可定制性和稳定性在服务器、开发及桌面领域广泛应用。其内核管理硬件资源,并通过发行版(如Ubuntu)为用户提供完整的软件集合与桌面环境。对于初学者而言,Ubuntu凭借其友好的图形界面和庞大的社区支持,成为降低Linux使用门槛的理想选择。在工程实践中,掌握系统安装、驱动配置、软件包管理和基础命令行操作是高效使用Ubuntu的关键技术价值。本文聚焦于Ubuntu的实战部署,详细解析了从镜像选择、双系统安装到开发环境配置的全流程,并针对NVIDIA驱动安装、中文

weixin_34081595的博客 833

Ubuntu中的~/.bashrc不自动生效的解决方法

在使用Ubuntu终端时,有时会遇到~/.bashrc文件不自动生效的问题,每次打开一个终端窗口都需要手动运行`source ~/.bashrc`才能使配置生效。以下内容将介绍如何解决这个问题。

Dar_Alpha的博客 5679

ST官方免费Linux工具链:STM32开发环境全面拥抱命令行

嵌入式开发长期依赖Windows环境,但工具链的底层组件如交叉编译器、GDB、OpenOCD本就源于Linux。随着ST官方将STM32CubeIDE、CubeMX、GCC工具链及固件包免费开放给Linux用户,开发者终于可以在Ubuntu等发行版上原生完成从初始化配置、代码生成到编译烧录、调试的完整流程。命令行模式配合ST-LINK与开源工具,使CI流水线和远程构建成为可能。本文从环境搭建到踩坑排查,梳理了在Linux上构建STM32开发环境的实用路径,并探讨了许可证边界与开源替代方案,帮助嵌入式开发者摆

weixin_34013044的博客 539

Docker Compose 安装全指南:Linux/macOS/Windows 三平台 v2 正确部署

Docker Compose 是容器编排的基础工具,其本质已从独立 Python 应用(v1)演进为 Docker CLI 原生插件(v2),依赖 gRPC 通信与上下文管理。理解这一架构转变,是规避 'command not found'、'unknown command' 及跨平台路径解析失败等高频问题的关键。技术价值在于实现开发环境一致性、CI/CD 流水线可复现性及多环境安全升级能力。典型应用场景包括本地微服务调试、云服务器一键部署、WSL2 与 Docker Desktop 深度集成等。本文聚焦

weixin_30267785的博客 408

linux下 source ~/.bashrc文件修改后无效的原因

linux下通过vim ~/.bashrc修改数据比如数据库连接(export CONN_STRING = postgres://username:password@127.0.0.1/db?sslmode=disbale)保存退出后,直接用source ~/.bashrc启用立即生效,通过api查询数据发现连接的还是原来的数据库, 是因为在用户登录时已经执行了一遍$HOME/.bashrc,此...

一代猿佬 2万+

Ubuntu 20.04 安装 Jenkins 实操指南:避坑、Java 配置与 deb 包部署

Jenkins 是持续集成(CI)与持续交付(CD)的核心开源工具,其运行依赖稳定的 Java 运行时环境、系统服务管理机制及安全的软件源配置。在 Ubuntu 20.04 这一广泛使用的 LTS 系统中,因 OpenJDK 版本滞后、apt-key 弃用、systemd 集成要求高等原因,原生安装极易失败。本文从 Java 兼容性原理出发,解析 G1 垃圾回收参数适配、headless 模块缺失等底层技术问题;强调采用 Eclipse Temurin JDK 11 和 Jenkins 官方 Debian

weixin_33795093的博客 420

【Linux服务器】 .bashrc设置永久环境变量后不起作用的问题

然而发现设置了以后不起作用。这时候可以在终端界面使用export命令查看当前所有的PATH变量,我的情况是只出现了一条,别的都没有,这就说明在配置环境变量的过程中有一条配置语句将其他的PATH变量全部覆盖掉了。进行完这些操作后在终端使用export命令,就能在PATH一行看见所有的环境变量了。重新打开 .bash找到那个仅有的一条环境变量的配置语句。在使用vi打开.bashrc文件以后设置环境变量。

qq_46276946的博客 4969

Linux SSH登录Shell更改指南:从chsh命令到安全配置实践

在Linux系统管理中,Shell作为用户与操作系统内核交互的命令行解释器,是系统访问控制的核心组件。其工作原理基于/etc/passwd文件中的用户配置记录,通过修改登录Shell字段实现不同解释器的切换。这项技术的核心价值在于实现环境兼容性、安全权限控制和个性化开发体验。在实际应用场景中,系统管理员需要为自动化脚本配置特定Shell环境,通过受限Shell(如rbash)实施安全加固,或为服务账户设置非交互式Shell(如nologin)以遵循最小权限原则。本文聚焦SSH登录Shell的更改操作,详细解

weixin_30596023的博客 425

全局子程序 参数调用

为什么要子程序: 为了实现程序结构化,我们尽量使用不同功能的功能块来实现一些特定的功能, 子程序接口: 使用过程的注意事项,尤其是数组使用时的注意事项 从一个主程序中可以将参数传递到局部或全局子程序和函数中。 怎样传递参数有 2 种方式: 作为 IN 参数 变量值在主程序中保持不变。 这种传递方式也称为“ 值传递 (Call by Value)”。 作为 OUT 参数 子程序读取并更改该值,然后将新值写回到主程序中。 这种传递方式也称为“Call by Reference”。 举例说明 1 DEF MY

Eric_Yang1024的博客 1095

.bashrc中配置环境变量不生效

在.bashrc文件中配置环境变量后,运行了命令执行pipenv命令有效,然后新开一个终端后,提示 command not found。

z917185537的专栏 3724

华硕ROG枪神双系统实战:Ubuntu安装避坑指南

本文是华硕ROG枪神笔记本安装Ubuntu双系统的详细避坑指南。针对其独特的硬件与BIOS设计,文章核心解决了VMD控制器导致硬盘无法识别、驱动兼容性等关键难题,并提供了从BIOS设置、分区方案到安装后驱动配置与性能调优的一站式解决方案,帮助用户实现稳定的双系统体验。

raspberrypi5的博客 545

Ubuntu 22.04安装搜狗输入法:Fcitx框架配置与疑难问题解决

在Linux桌面环境中,输入法框架是连接用户与系统进行文字输入的核心组件,其工作原理涉及进程管理、环境变量和图形界面集成。Fcitx作为一款历史悠久的输入法框架,以其对复杂输入法和商业输入法引擎的良好兼容性而著称,尤其适合需要深度定制和高性能输入的场景。其技术价值在于提供了模块化的架构,允许第三方输入法(如搜狗拼音)以插件形式集成,从而在保持系统稳定的同时,为用户带来更符合习惯的输入体验。在Ubuntu等基于Gnome的发行版中,默认的IBus框架虽然与桌面环境深度集成,但在词库、云联想等高级功能上可能无法

weixin_33860528的博客 518

从稳压管到LDO芯片:一张图看懂线性电源的‘内卷’进化史

本文追溯了从稳压管到LDO芯片的线性电源技术进化历程,详细解析了各阶段的技术突破与局限。重点探讨了现代LDO在超低功耗、高精度控制等方面的创新,并提供了实战选型的黄金法则,帮助工程师在电子设备小型化与低功耗化趋势中做出最优选择。

weixin_42525551的博客 205

手把手教你用ZEMAX复现贝塞尔光束:从Thorlabs锥透镜到Edmund透镜的完整光路搭建

本文详细介绍了如何在ZEMAX光学设计软件中复现贝塞尔光束,从Thorlabs锥透镜到Edmund透镜的完整光路搭建过程。通过逐步指导,帮助研究人员和工程师掌握光学设计技巧,实现无衍射特性的贝塞尔光束生成,适用于激光加工和生物成像等领域。

weixin_33737774的博客 178

Ansible批量部署Docker:Ubuntu多版本兼容安装与生产避坑指南

Docker引擎是Linux服务器容器化运行的基础组件,其安装涉及包管理、内核兼容性、权限控制与守护进程配置等核心原理。采用Ansible实现声明式、幂等、可验证的自动化部署,相比Shell脚本显著提升确定性与运维效率,尤其适用于Ubuntu 18.04/20.04/22.04等LTS版本的批量交付场景。技术价值体现在版本智能适配(docker.io vs docker-ce)、国内镜像源动态注入、cgroup驱动自动识别及sudo提权可靠性加固。典型应用包括Kubernetes节点前置准备、边缘计算设备初

weixin_34038293的博客 429

数字IC后端设计实战:从floorplan到powerplan的优化策略

本文深入探讨了数字IC后端设计中从Floorplan到Powerplan的核心优化策略。文章强调了Floorplan作为布局基础的重要性,并详细解析了Powerplan规划,特别是针对低功耗设计中MTCMOS的应用与IR Drop分析。通过实战经验分享,提供了从模块摆放到电源网络构建、再到IR Drop问题层层递进的解决方案,旨在帮助后端工程师构建稳健高效的芯片物理设计。

weixin_28338005的博客 347

Ubuntu 18.04下用RVM构建Ruby on Rails生产环境

Ruby 是动态语言运行时的核心解释器,Rails 是基于 Ruby 构建的全栈 Web 应用框架,二者协同依赖稳定、隔离、可复现的执行环境。在 Ubuntu 18.04 这类长期支持但系统组件陈旧的发行版中,系统 Ruby 和 APT 包管理存在 OpenSSL 版本冲突、权限越界、Gem 路径混乱等固有缺陷,导致 Rails 部署极易出现 SSL 连接失败、bundle 权限拒绝或依赖污染等问题。RVM 作为用户态 Ruby 环境沙盒管理工具,通过私有编译 OpenSSL、进程级 gemset 隔离、无

weixin_30412167的博客 366

【2026-Spark实验一-Windows中安装Spark环境】

本文详细介绍了在Windows系统中配置Spark 3.5.8开发环境的完整流程。主要内容包括:安装JDK 8并配置环境变量,下载并解压Spark 3.5.8预编译版,设置SPARK_HOME系统变量,配置Hadoop的winutils工具解决Windows兼容性问题。通过spark-shell和SparkPi示例程序验证环境配置成功,确保Spark能够正常运行分布式计算任务。文中特别强调了路径命名规范、环境变量设置顺序等关键细节,提供了完整的配置截图和验证方法,帮助开发者快速搭建稳定的Spark学习环境。

pblh123的专栏 1586

RHEL 8 与 RHEL 7 与 RHEL 6 的比较,RHEL 8强到离谱!

Red Hat Enterprise Linux(RHEL)是企业级 Linux 发行版中最受欢迎的操作系统之一。RHEL 为服务器和企业环境提供了高性能、稳定性和安全性,适用于各种数据中心和云计算平台。自 RHEL 6 以来,Red Hat 对其操作系统进行了多次重大更新,RHEL 7 和 RHEL 8 带来了许多新的特性、工具和架构变化。

网络技术联盟站 707

Ubuntu 16.04安装AMD显卡驱动与ROCm平台实战指南

在Linux系统中,GPU驱动是连接硬件与计算框架的关键底层组件,其核心原理在于通过内核模块管理显卡资源,为用户态程序提供统一的访问接口。对于AMD显卡,其技术价值在于通过ROCm开放计算平台,为深度学习等高性能计算任务提供了CUDA的替代方案。在应用场景上,这尤其适用于希望在老旧Ubuntu系统或AMD显卡上运行PyTorch、TensorFlow等AI框架的开发者。本文聚焦于在已停止维护的Ubuntu 16.04系统上,为AMD Radeon RX 580显卡成功部署ROCm 3.5.1计算平台及兼容的

weixin_30824599的博客 397

8 卡 GPU 服务器与 NVLink/NVSwitch 互联技术

NVLink 是一种点对点的高速互连技术,单条 NVLink 就是一条全双工双路信道,每条 NVLink 链路可以将 2 个 GPU 直连起来,并且每个 GPU 可以提供多条 NVLink 接口连接多个 GPU。另外,PCIe Switch 互联拓扑中的 GPU 之间可能存在 GPU0→Switch0→CPU0→CPU1→Switch1→GPU7 的通信链路,它的通信不可避免的存在一定的延迟,因而更适合用于对信号效率不敏感且追求性价比的使用场景,如:推理、云计算等领域。本文讨论的是单机 GPU 卡间互联。

烟云的计算 4262

Ubuntu 18.04 sudo权限配置原理与安全实践

sudo 是 Linux 系统中实现最小权限提权的核心机制,其本质依赖 setuid 位与 /etc/sudoers 策略协同工作。在 Ubuntu 18.04 中,sudo 权限并非默认赋予新用户,而是严格通过用户是否属于 sudo 组来控制,该组映射到 /etc/group 中的硬编码条目,并由 %sudo 规则驱动权限决策。这种设计兼顾安全性与可维护性,避免了直接修改 sudoers 带来的语法风险。典型应用场景包括开发环境用户初始化、Jetson Nano 等嵌入式平台权限修复、Docker 等特权

weixin_33735077的博客 383

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Handy 离线语音转文字:源码安装与 6 个编译、权限坑一次排通

这篇 Handy 安装指南写给刚 clone 完仓库、准备源码编译或验证预编译包的新手。覆盖 Windows、macOS、Linux 三个平台,按装环境、拉代码编译、首次启动、转写就绪四段推进,每段只讲最容易卡住的环节。读完你应该能在本机把离线语音转文字应用完整跑起来,并且知道每个编译报错该往哪查。 ## 环境准备:工具链清单与 PATH Handy 的构建链比较长:Rust 后端、React

gitblog_00085的博客 419

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Turtlebot3 USB串口通信调试全指南:从识别失败到稳定ROS通信

USB转串口是嵌入式设备与主机通信的基础技术,其核心原理涉及USB协议栈、CDC ACM类驱动、udev设备管理及Linux权限模型。在ROS机器人开发中,CP2102等USB-UART芯片的稳定工作直接决定底层通信可靠性,技术价值体现在规避波特率协商失败、设备节点漂移、供电压降导致的丢包等典型问题。典型应用场景包括Turtlebot3、Jetson开发板、STM32调试器等ROS教学与科研平台的快速启动。本文聚焦Ubuntu系统下CP2102芯片的设备识别、ttyUSB持久化绑定、dialout组权限配置

weixin_33671935的博客 606

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: kaldi 记录:移动 kaldi根目录之后的报错——libkaldi-util.so: cannot open shared object file: No such file or directo
下一篇: linux 重启
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值