lon*_*nix 4 linux bash login ubuntu environment-variables
我在 linux (ubuntu) 中使用 Microsoft 的 dotnet,它具有拨号家庭遥测功能。我想禁用它,说明说:
.NET Core 工具收集使用数据以帮助我们改善您的体验。数据是匿名的,不包括命令行参数。数据由 Microsoft 收集并与社区共享。您可以通过使用您喜欢的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为“1”或“true”来选择退出遥测。
我读过.profile,.bashrc,.bash_profile,/etc/environment,等,在被读取后,他们的差异,如果在所有。
所以我不知道该放在DOTNET_CLI_TELEMETRY_OPTOUT=1哪里?我希望它始终被加载,无论我是否在没有桌面的情况下登录、使用桌面登录、远程 ssh 登录、启动终端、从父终端启动终端等。
我应该把它放在哪个文件(或多个文件)中?我将如何为所有用户执行此操作?
如果您使用Ubuntu其中一个标签,您将拥有一个名为
/etc/profile.d
Run Code Online (Sandbox Code Playgroud)
As root,在里面创建一个文件。让我们称之为
dotnet_optout.sh
Run Code Online (Sandbox Code Playgroud)
用文本编辑器打开它并输入以下内容:
#!/bin/sh
DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_CLI_TELEMETRY_OPTOUT
Run Code Online (Sandbox Code Playgroud)
Uodate:您不必使文件可执行。这只是我早期 Linux 时代的一种习惯力量。不过,如果你这样做,它不会伤害任何东西。
之后,您可以注销并重新登录或:
bash
Run Code Online (Sandbox Code Playgroud)
这将启动一个新的 shell 会话 /etc/profile.d/dotnet_optout.sh
要确认完成后,请输入:
echo $DOTNET_CLI_TELEMETRY_OPTOUT
Run Code Online (Sandbox Code Playgroud)
你会得到一个输出1。
简而言之,您放置在该目录中的任何人都可以执行的脚本bash(或sh类似来源的shell /etc/profile)将影响每个人的环境。
如果您有使用其他 shell 的用户,配置将类似,但您需要更新不同的配置文件。