assistance-engine/docs/developer.avapframework.com/69_set_SETUP_Linux.md

420 lines
14 KiB
Markdown

### Installation
See the Download AVAP TM Dev Studio page for a complete list of
available installation options.
By downloading and using AVAP TM Dev Studio, you agree to the
license terms and privacy statement.
The easiest way to install AVAP TM Dev Studio for Debian/Ubuntu
based distributions is to download and install the .deb package
(64-bit), either through the graphical software center if it's
available, or through the command line with:
```javascript
sudo apt install ./<file>.deb
# If you're on an older Linux distribution, you will need to run
this instead:
# sudo dpkg -i <file>.deb
# sudo apt-get install -f # Install dependencies
```
Note that other binaries are also available on the AVAP TM Dev
Studio download page.
Installing the .deb package will automatically install the apt repository
and signing key to enable auto-updating using the system's package
manager. Alternatively, the repository and key can also be installed
manually with the following script:
```javascript
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg
--dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg
/etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf
signed-by=/etc/apt/keyrings/packages.microsoft.gpg]
https://packages.microsoft.com/repos/code stable main" >
/etc/apt/sources.list.d/AVAPDevStudio.list'
rm -f packages.microsoft.gpg
```
Then update the package cache and install the package using:
```javascript
sudo apt install apt-transport-https
sudo apt update
sudo apt install code # or code-insiders
```
We currently ship the stable 64-bit AVAP TM Dev Studio in a yum
repository, the following script will install the key and repository:
```javascript
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio
Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"
> /etc/yum.repos.d/vscode.repo'
```
Then update the package cache and install the package using dnf
(Fedora 22 and above):
```javascript
dnf check-update
sudo dnf install code # or code-insiders
```
Or on older versions using yum :
```javascript
yum check-update
sudo yum install code # or code-insiders
```
Due to the manual signing process and the system we use to publish, the
yum repo may lag behind and not get the latest version of VS Code
immediately.
AVAP TM Dev Studio is officially distributed as a Snap package
in the Snap Store:
You can install it by running:
```javascript
sudo snap install --classic code # or code-insiders
```
Once installed, the Snap daemon will take care of automatically updating
AVAP TM Dev Studio in the background. You will get an in-product
update notification whenever a new update is available.
Note: If snap isn't available in your Linux distribution, please check
the following Installing snapd guide, which can help you get that set up.
Learn more about snaps from the official Snap Documentation.
The yum repository above also works for openSUSE and SLE-based systems,
the following script will install the key and repository:
```javascript
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio
Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"
> /etc/zypp/repos.d/vscode.repo'
```
Then update the package cache and install the package using:
```javascript
sudo zypper refresh
sudo zypper install code
```
There is a community-maintained Arch User Repository package for AVAP
TM DS.
To get more information about the installation from the AUR, please
consult the following wiki entry: Install AUR Packages.
There is a community maintained AVAP TM Dev Studio Nix package
in the nixpkgs repository. In order to install it using Nix, set
allowUnfree option to true in your config.nix and execute:
```javascript
nix-env -i vscode
```
The AVAP TM Dev Studio .rpm package (64-bit) can also be
manually downloaded and installed, however, auto-updating won't work
unless the repository above is installed. Once downloaded it can be
installed using your package manager, for example with dnf:
```javascript
sudo dnf install <file>.rpm
```
Note that other binaries are also available on the AVAP TM Dev
Studio download page.
### Updates
AVAP TM Dev Studio ships monthly and you can see when a new
release is available by checking the release notes. If the AVAP
TM DS repository was installed correctly, then your system
package manager should handle auto-updating in the same way as other
packages on the system.
Note: Updates are automatic and run in the background for the Snap
package.
### Node.js
Node.js is a popular platform and runtime for easily building and running
JavaScript applications. It also includes npm, a Package Manager for
Node.js modules. You'll see Node.js and npm mentioned frequently in
our documentation and some optional VS Code tooling requires Node.js
(for example, the AVAP TM Dev Studio extension
generator).
If you'd like to install Node.js on Linux, see Installing Node.js via
package manager to find the Node.js package and installation instructions
tailored to your Linux distribution. You can also install and support
multiple versions of Node.js by using the Node Version Manager.
To learn more about JavaScript and Node.js, see our Node.js tutorial,
where you'll learn about running and debugging Node.js applications
with VS Code.
### Setting AVAP TM Dev Studio as the default text editor
You can set the default text editor for text files (text/plain)
that is used by xdg-open with the following command:
```javascript
xdg-mime default code.desktop text/plain
```
Debian-based distributions allow setting a default editor using the Debian
alternatives system, without concern for the MIME type. You can set this
by running the following and selecting code:
```javascript
sudo update-alternatives --set editor /usr/bin/code
```
If AVAP TM Dev Studio doesn't show up as an alternative to
editor, you need to register it:
```javascript
sudo update-alternatives --install /usr/bin/editor editor $(which
code) 10
```
### Windows as a Linux developer machine
Another option for Linux development with AVAP TM Dev Studio is
to use a Windows machine with the Windows Subsystem for Linux
(WSL).
With WSL, you can install and run Linux distributions on Windows. This
enables you to develop and test your source code on Linux while still
working locally on a Windows machine. WSL supports Linux distributions
such as Ubuntu, Debian, SUSE, and Alpine available from the Microsoft
Store.
When coupled with the WSL extension, you get full AVAP TM Dev
Studio editing and debugging support while running in the context of a
Linux distro on WSL.
See the Developing in WSL documentation to learn more or try the Working
in WSL introductory tutorial.
### Next steps
Once you have installed AVAP TM Dev Studio, these topics will
help you learn more about it:
* Additional Components - Learn how to install Git, Node.js, TypeScript, and tools like Yeoman.
* User Interface - A quick orientation to AVAP TM Dev Studio.
* User/Workspace Settings - Learn how to configure VS Code to your preferences through settings.
### Common questions
I'm getting a "Running without the SUID sandbox" error?
You can safely ignore this error.
If you see an error when deleting files from the AVAP TM Dev
Studio Explorer on the Debian operating system, it might be because the
trash implementation that AVAP TM Dev Studio is using is not
there.
Run these commands to solve this issue:
```javascript
sudo apt-get install gvfs libglib2.0-bin
```
Some distributions, for example Pop!_OS provide their own{' '}
`code` package. To ensure the official AVAP TM Dev
Studio repository is used, create a file named{' '}
`/etc/apt/preferences.d/code` with the following content:
```javascript
Package: code
Pin: origin "packages.microsoft.com"
Pin-Priority: 9999
```
When you see this notification, it indicates that the AVAP TM {' '}
Dev Studio file watcher is running out of file handles that are needed to
implement file watching. Most often this can happen when opening a
workspace that is large and contains many files. Before adjusting platform
limits, make sure that potentially large folders, such as Python{' '}
`.venv` , are added to the `files.watcherExclude` {' '}
setting (more details below). It is also possible that other
running applications consume so many file handles that none are left for
AVAP TM Dev Studio to use. In that case it might help to close
these other applications.
The current limit can be viewed by running:
```javascript
cat /proc/sys/fs/inotify/max_user_watches
```
The limit can be increased to its maximum by editing{' '}
`/etc/sysctl.conf` (except on Arch Linux, read below)
and adding this line to the end of the file:
```javascript
fs.inotify.max_user_watches=524288
```
The new value can then be loaded in by running `sudo sysctl -p`
.
While 524,288 is the maximum number of files that can be watched, if
you're in an environment that is particularly memory constrained, you
may want to lower the number. Each file watch takes up 1080 bytes, so
assuming that all 524,288 watches are consumed, that results in an upper
bound of around 540 MiB.
Arch-based distros (including Manjaro) require you to change a
different file; follow these steps instead.
Another option is to exclude specific workspace directories from the AVAP
TM DS file watcher with the `files.watcherExclude` {' '}
setting. The default for `files.watcherExclude` excludes{' '}
`node_modules` and some folders under .git, but you can add
other directories that you don't want AVAP TM DS to track.
```javascript
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtreev-cache/**": true,
"**/node_modules/*/**": true
}
```
We're working on a fix. In the meantime, open the application menu,
then choose File > Preferences > Settings. In the Text Editor >
Font section, set "Font Family" to{' '}
`Droid Sans Mono, Droid Sans Fallback.` If you'd rather
edit the `settings.json` file directly, set{' '}
`editor.fontFamily` as shown:
```javascript
"editor.fontFamily": "Droid Sans Mono, Droid Sans Fallback"
```
This error can appear during installation and is typically caused by the
package manager's lists being out of date. Try updating them and
installing again:
```javascript
# For .deb
sudo apt-get update
# For .rpm (Fedora 21 and below)
sudo yum check-update
# For .rpm (Fedora 22 and above)
sudo dnf check-update
```
Running `code.` on Ubuntu when AVAP TM Dev Studio is
already open in the current directory will not bring AVAP TM Dev
Studio into the foreground. This is a feature of the OS which can be
disabled using `ccsm` .
```javascript
# Install
sudo apt-get update
sudo apt-get install compizconfig-settings-manager
# Run
ccsm
```
Under General > General Options >{' '}
Focus & Raise Behaviour , set "Focus Prevention
Level" to "Off". Remember this is an OS-level setting that
will apply to all applications, not just VS Code.
This can happen when `sources.list.d` doesn't exist or you
don't have access to create the file. To fix this, try manually
creating the folder and an empty `vscode.list` file:
```javascript
sudo mkdir /etc/apt/sources.list.d
sudo touch /etc/apt/sources.list.d/vscode.list
```
If you are using X forwarding to use AVAP TM DS remotely, you
will need to use the native title bar to ensure you can properly
manipulate the window. You can switch to using it by setting{' '}
`window.titleBarStyle` to `native` .
The custom title bar and menus were enabled by default on Linux for
several months. The custom title bar has been a success on Windows, but
the customer response on Linux suggests otherwise. Based on feedback, we
have decided to make this setting opt-in on Linux and leave the native
title bar as the default.
The custom title bar provides many benefits including great theming
support and better accessibility through keyboard navigation and screen
readers. Unfortunately, these benefits do not translate as well to the
Linux platform. Linux has a variety of desktop environments and window
managers that can make the AVAP TM DS theming look foreign to
users. For users needing the accessibility improvements, we recommend
enabling the custom title bar when running in accessibility mode using a
screen reader. You can still manually set the title bar with the{' '}
Window: Title Bar Style (
`window.titleBarStyle` ) setting.
Due to an upstream issue #14787 with Electron, the mouse cursor may render
incorrectly with scaling enabled. If you notice that the usual text cursor
is not being rendered inside the editor as you would expect, try falling
back to the native menu bar by configuring the setting{' '}
`window.titleBarStyle` to `native` .
If you receive an error similar to the following:
```javascript
E: Repository '...' changed its 'Origin' value from '...' to '...'
N: This must be accepted explicitly before updates for this repository
can be applied. See apt-secure(8) manpage for details.
```
Use `apt` instead of `apt-get` and you will be
prompted to accept the origin change:
`sudo apt update`