Skip to main content

Disable .NET telemetry

Overview

About this script

This script improves your privacy on Linux.

These changes use Linux system commands to update your settings.

.NET, previously known as .NET Core 1, is a free, open-source, and cross-platform developer platform that allows the creation of various types of applications 2.

The .NET Software Development Kit (SDK) includes a telemetry feature, enabled by default 3, that collects and sends usage data to Microsoft upon the execution of .NET Command-Line Interface (CLI) commands. This data comprises your operating system, hardware specifics, geographic location, and .NET usage/installation information 3. A fraction of this collected data is made publicly available at .NET CLI Telemetry Data | dotnet.microsoft.com.

This script sets the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1, opting you out of the .NET telemetry collection 3. It is crucial to establish this setting prior to the .NET installation since the installation process also sends telemetry data 3.

This script uses Bash (Shell script) scripting language.

Safe for General Use

This script is recommended for all users. It helps to improve privacy without affecting stability.

Implementation Details
  • Language: bash

  • Required Privileges: Root/sudo access

  • Compatibility: Linux only

  • Reversibility: Can be undone using provided revert script

Explore Categories

This action belongs to Configure programs category. These scripts configure third-party applications installed on Linux distributions to harden their security and privacy to protect your data. They scripts differ from OS level configurations as they configure applications that are not typically native to Linux distributions, i.e., not included in... Read more on category page ▶

Apply now

Choose one of three ways to apply:

  1. Automatically via privacy.sexy: The easiest and safest option.
  2. Manually by downloading: Requires downloading a file.
  3. Manually by copying: Advanced flexibility.

Alternative 1. Apply with Privacy.sexy

privacy.sexy is free and open-source application that lets securely apply this action easily.

Open privacy.sexy

You can fully restore this action (revert back to the original behavior) using the application.

privacy.sexy instructions
  1. Open or download the desktop application
  2. Search for the script name: Disable .NET telemetry.
  3. Check the script by clicking on the checkbox.
  4. Click on Run button at the bottom of the page.

Alternative 2. Download

Irreversible Changes

This script is irreversible, meaning there is no straightforward method to restore changes once applied. Exercise caution before running, restoring it may not be possible.

  1. Download the script file by clicking on the button below:

    Download script

  2. Run the script file by clicking on it.

Download revert script

This file restores your system to its original state, before this script is applied.

Download restore script

Alternative 3. Copy

This is for advanced users. Consider automatically applying or downloading the script for simpler way.

  1. Open Terminal

  2. Copy the following code:

Code to apply changes
variable='DOTNET_CLI_TELEMETRY_OPTOUT'
value='1'
declaration_file='/etc/environment'
if ! [ -f "$declaration_file" ]; then
echo "\"$declaration_file\" does not exist."
sudo touch "$declaration_file"
echo "Created $declaration_file."
fi
assignment_start="$variable="
assignment="$variable=$value"
if ! grep --quiet "^$assignment_start" "${declaration_file}"; then
echo "Variable \"$variable\" was not configured before."
echo -n $'\n'"$assignment" | sudo tee -a "$declaration_file" > /dev/null
echo "Successfully configured ($assignment)."
else
if grep --quiet "^$assignment$" "${declaration_file}"; then
echo "Skipping. Variable \"$variable\" is already set to value \"$value\"."
else
if ! sudo sed --in-place "/^$assignment_start/d" "$declaration_file"; then
>&2 echo "Failed to delete assignment starting with \"$assignment_start\"."
else
echo "Successfully deleted unexpected assignment of \"$variable\"."
if ! echo -n $'\n'"$assignment" | sudo tee -a "$declaration_file" > /dev/null; then
>&2 echo "Failed to add assignment \"$assignment\"."
else
echo "Successfully reconfigured ($assignment)."
fi
fi
fi
fi
  1. Paste the code into terminal.
  2. Press Enter to apply the code.

Some scripts requires restarting your computer to take affect.

Copy restore code

Copy and run the following code to restore changes:

Revert code
variable='DOTNET_CLI_TELEMETRY_OPTOUT'
value='1'
declaration_file='/etc/environment'
if ! [ -f "$declaration_file" ]; then
echo "Skipping, \"$declaration_file\" does not exist."
else
assignment="$variable=$value"
if grep --quiet "^$assignment$" "${declaration_file}"; then
if sudo sed --in-place "/^$assignment$/d" "$declaration_file"; then
echo "Successfully deleted \"$variable\" with \"$value\"."
else
>&2 echo "Failed to delete \"$assignment\"."
fi
else
echo "Skipping, \"$variable\" with \"$value\" is not found."
fi
fi

Support

This website relies on your support.

Support now

Your donation helps keep the project alive and improves its content ❤️.

Share this page: