Linux

為所有登錄場景設置環境變數

  • June 22, 2019

我在 linux (ubuntu) 中使用微軟的 dotnet,它有撥號回家遙測。我想禁用它,說明說

.NET Core 工具收集使用數據以幫助我們改善您的體驗。數據是匿名的,不包括命令行參數。數據由 Microsoft 收集並與社區共享。您可以通過使用您最喜歡的 shell 將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變數設置為“1”或“真”來選擇退出遙測。

我讀過 , .profile, .bashrc, .bash_profile,/etc/environment等在閱讀時有差異,如果有的話。

所以我不確定放在DOTNET_CLI_TELEMETRY_OPTOUT=1哪裡?我希望它始終被載入,無論我是否在沒有桌面的情況下登錄、使用桌面登錄、遠端 ssh、啟動終端、從父終端啟動終端等。

我應該把它放在哪個文件(或多個文件)中?我將如何為所有使用者做這件事?

如果您Ubuntu按照其中一個標籤所說的那樣使用,您將擁有一個名為

/etc/profile.d

作為root,在裡面創建一個文件。讓我們稱之為

dotnet_optout.sh

使用文本編輯器打開它並輸入以下內容:

#!/bin/sh

DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_CLI_TELEMETRY_OPTOUT

Uodate:您不必使文件可執行。這只是我早期 Linux 時代的一種習慣力量。不過,如果你這樣做,它不會傷害任何東西。

之後,您可以註銷並重新登錄,或者:

bash

這將啟動一個新的 shell 會話,其中源/etc/profile.d/dotnet_optout.sh

要確認何時完成,請輸入:

echo $DOTNET_CLI_TELEMETRY_OPTOUT

您將獲得1.

簡而言之,您放入該目錄的每個人都可以執行的任何腳本bash(或sh類似 shell 的 sources )都會影響每個人的環境。/etc/profile

如果您有使用其他 shell 的使用者,則配置將類似,但您需要更新不同的配置文件。

引用自:https://unix.stackexchange.com/questions/451719