This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:win10wsl [2022/09/15 12:47] jypeter [Specifying correctly the display language] Improved |
other:win10wsl [2022/10/14 09:21] jypeter [Hyper-V requirements] Added Hyper-V misc section |
||
---|---|---|---|
Line 144: | Line 144: | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | You can skip reading this WSL //requirement// if you are installing WSL for the first time, and are therefor directly installing WSL 2 | + | You can skip reading this WSL //requirement// if you are installing WSL for the first time, and are therefore directly installing WSL 2 |
- | Come back later if you have problems | + | Come back here later (only) if you have problems |
</WRAP> | </WRAP> | ||
Line 167: | Line 167: | ||
* <code> Virtualisation activée dans le microprogramme : Oui</code> | * <code> Virtualisation activée dans le microprogramme : Oui</code> | ||
+ | === Hyper-V related information === | ||
+ | |||
+ | Miscellaneous technical links and information, in case we need this later... | ||
+ | |||
+ | * [[https://learn.microsoft.com/en-us/virtualization/|Virtualization documentation]] | ||
+ | * [[https://learn.microsoft.com/en-us/virtualization/api/|Hyper-V APIs]] | ||
+ | * ''hcsdiag list'' and ''hcsdiag kill <ID>'' | ||
===== Base installation ===== | ===== Base installation ===== | ||
Line 403: | Line 410: | ||
Installé correctement</code> | Installé correctement</code> | ||
- | * After installing, you will get **several new ways to open a terminal**: | + | * After installing WSLtty, you will get **several new ways to open a terminal**: |
- | * ''WSL terminal'' icon on the desktop | + | * **A ''WSL terminal'' icon on the desktop, that will be //The Way to open a terminal//** |
* ''Start'' => ''U'' => ''Ubuntu terminal'' (or ''Ubuntu_custom terminal'' or something similar if you have [[other:win10wsl#restoring_or_relocating_a_linux_installation|restored/relocated a Linux installation]]) | * ''Start'' => ''U'' => ''Ubuntu terminal'' (or ''Ubuntu_custom terminal'' or something similar if you have [[other:win10wsl#restoring_or_relocating_a_linux_installation|restored/relocated a Linux installation]]) | ||
* ''Start'' => ''W'' => ''WSL Terminal'' in the ''Start'' menu | * ''Start'' => ''W'' => ''WSL Terminal'' in the ''Start'' menu | ||
* There is also a ''W'' => ''WSLtty'' folder, than you probably will not need (more details in [[https://github.com/mintty/wsltty#configuration|Configuration]]), except possibly ''configure WSL shortcuts'' (//run after adding or removing WSL distributions, in order to create the respective set of shortcuts in the Start menu//) | * There is also a ''W'' => ''WSLtty'' folder, than you probably will not need (more details in [[https://github.com/mintty/wsltty#configuration|Configuration]]), except possibly ''configure WSL shortcuts'' (//run after adding or removing WSL distributions, in order to create the respective set of shortcuts in the Start menu//) | ||
* Open a terminal and right-click in it to check the available options | * Open a terminal and right-click in it to check the available options | ||
- | * Hint: use the ''Text'' option to select the nice //Cascadia Code// font bundled with the [[other:win10apps#windows_terminal|Windows Terminal]] | + | * **Recommended //text// options**: |
+ | * use the ''Text'' option to select the nice //Cascadia Code// font bundled with the [[other:win10apps#windows_terminal|Windows Terminal]] | ||
+ | * if you don't automatically get the ''en_US.UTF8'' localization in WSLtty when trying to [[other:win10wsl#specifying_a_correct_system_language|specify a correct system language]], explicitly force //Locale//=''en_US'' and //Character set//=''UTF-8'' in the text options | ||
+ | * {{ :other:wsltty_text_options.png?direct&250 |}} | ||
* You can access even more options with CTRL+right-click | * You can access even more options with CTRL+right-click | ||
- | * You can cycle between the open WSLtty terminals with CTRL+Tab and Shift+CTRL+Tab | + | * Note: the WSLtty (non-default) settings are stored in: ''C:\Users\jypeter\AppData\Roaming\wsltty\config'' |
- | * [[https://github.com/mintty/mintty/wiki|Technical stuff]] (on the Mintty wiki) | + | * You can cycle between the open WSLtty terminals with CTRL+Tab and Shift+CTRL+Tab |
+ | * Extra [[https://github.com/mintty/mintty/wiki|technical stuff]] (on the Mintty wiki) | ||
=== The Windows Terminal === | === The Windows Terminal === | ||
Line 421: | Line 432: | ||
=== Terminals started from Linux === | === Terminals started from Linux === | ||
- | You can install additional //graphical// terminals inside the Linux running in WSL, but **you will need to have a running [[other:x_conf#using_an_x_server_on_windows|X server]] if you want to open them**. In these terminals, the //usual// Linux copy/paste rules will apply! | + | You can [[other:win10wsl#adding_useful_packages|install additional graphical terminals in the Linux installation]], but **you will need to have a running [[other:x_conf#using_an_x_server_on_windows|X server]] if you want to open them**. In these terminals, the //usual// Linux copy/paste rules will apply! |
- | == xterm == | + | * ''xterm'' package |
- | + | * ''xfce4-terminal'' package | |
- | * Install with: ''apt-get install xterm'' | + | |
- | * Start from another terminal with: ''xterm &'' | + | |
- | + | ||
- | == xfce-terminal == | + | |
- | + | ||
- | * Install with: ''apt-get install xfce4-terminal'' | + | |
- | * Start from another terminal with: ''xfce4-terminal &'' | + | |
==== Where are the files? ==== | ==== Where are the files? ==== | ||
Line 576: | Line 580: | ||
After updating the system //localization// (and possibly restarting ''wsl'' with ''%%wsl --shutdown%%''), open the [[other:win10wsl#opening_a_terminal|available terminals]] and type ''echo $LANG'' in order to check that are indeed getting ''en_US.UTF8'' | After updating the system //localization// (and possibly restarting ''wsl'' with ''%%wsl --shutdown%%''), open the [[other:win10wsl#opening_a_terminal|available terminals]] and type ''echo $LANG'' in order to check that are indeed getting ''en_US.UTF8'' | ||
- | If you are still not getting ''en_US.UTF8'' in some terminals (e.g. you are getting ''C.UTF-8''), you can check if you can override the options | + | If you are still not getting ''en_US.UTF8'' in some terminals (e.g. you are still getting ''C.UTF-8''), you can check if you can override the //localization// options in the terminals settings. Check the [[other:win10wsl#the_wsltty_terminal|Text options of the WSLtty terminals]] |
Line 582: | Line 586: | ||
==== Package management ==== | ==== Package management ==== | ||
- | [[https://www.howtogeek.com/63997/how-to-install-programs-in-ubuntu-in-the-command-line/|apt-get tutorial]] if you are more used to Fedora/RedHat ''yum''/''dnf'' and //rpm// packages | + | === How does it work ? === |
- | * Install the **aptitude** package manager: ''apt-get install aptitude'' | + | * **Ubuntu applications** are distributed through package files in **//Debian// format** (''.deb'' files) that are found in [[https://help.ubuntu.com/community/Applications#Software_repositories|software repositories]] |
- | * [[https://doc.ubuntu-fr.org/aptitude|details]] (fr) | + | |
- | * Install the **synaptic** package manager: ''aptitude install synaptic'' | + | |
- | * [[https://doc.ubuntu-fr.org/synaptic|details]] (fr) | + | |
+ | * High level package management tools such as ''aptitude'' or ''synaptic'' rely on ''apt'' which, itself, relies on ''dpkg'' to manage the packages in the system | ||
+ | * The ''apt'' tool merges functionality of ''apt-get'' and ''apt-cache'' and by default has a fancier colored output format, making it more pleasant for humans. For usage in scripts or advanced use cases, ''apt-get'' is still preferable or needed | ||
+ | * ''apt*'' tools and ''dpkg'' are pre-installed on Ubuntu | ||
+ | * [[https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#aptitude|aptitude]] can be used on the command-line or through a **text-based interface** | ||
+ | * You do not need to have an [[other:x_conf|X server]] running to use ''aptitude'', therefore aptitude can be used in the early stages of a Linux installation, or on a remote Linux computer | ||
+ | * [[https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#synaptic|synaptic]] is a graphical package manager | ||
+ | * You need to have an [[other:x_conf|X server]] running in order to use it | ||
- | === Useful commands === | + | * All the details can be found in [[https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html|The Debian package management tools]] |
+ | |||
+ | === What about snap ? === | ||
+ | |||
+ | FIXME [[https://snapcraft.io/docs|Snap documentation]] | ||
+ | |||
+ | |||
+ | === Installing extra package managers === | ||
+ | |||
+ | * Installation: ''sudo apt install aptitude synaptic'' | ||
+ | * It may install lots of dependencies, but that's to be expected if no other packages have been installed yet\\ <code>$ sudo apt install aptitude synaptic | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree | ||
+ | Reading state information... Done | ||
+ | [...] | ||
+ | The following NEW packages will be installed: | ||
+ | adwaita-icon-theme aptitude aptitude-common at-spi2-core cpp cpp-9 fontconfig gcc-9-base | ||
+ | [...] | ||
+ | x11-xserver-utils xdg-utils | ||
+ | 0 upgraded, 129 newly installed, 0 to remove and 0 not upgraded. | ||
+ | Need to get 31.2 MB of archives. | ||
+ | After this operation, 137 MB of additional disk space will be used. | ||
+ | Do you want to continue? [Y/n] | ||
+ | </code> | ||
+ | |||
+ | * Documentation: | ||
+ | * ''apt'': | ||
+ | * EN: [[https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#apt-get|apt @ Debian]]\\ [[https://help.ubuntu.com/community/AptGet/Howto|Package management with APT @ Ubuntu]] | ||
+ | * FR: [[https://doc.ubuntu-fr.org/apt-cli|apt @ ubuntu-fr]] | ||
+ | * ''aptitude'': | ||
+ | * EN: [[https://help.ubuntu.com/community/AptitudeSurvivalGuide|Aptitude Survival Guide @ Ubuntu]] | ||
+ | * FR: [[https://doc.ubuntu-fr.org/aptitude|aptitude @ ubuntu-fr]] | ||
+ | * ''synaptic'': | ||
+ | * EN: [[https://help.ubuntu.com/community/SynapticHowto|synaptic Howto @ Ubuntu]] | ||
+ | * FR: [[https://doc.ubuntu-fr.org/synaptic|synaptic @ ubuntu-fr]] | ||
+ | |||
+ | |||
+ | === Some useful commands === | ||
+ | |||
+ | * ''apt update'': update the list of packages known by your system | ||
+ | * ''apt upgrade'': upgrade all the packages on your system | ||
+ | * ''apt search word'': find packages whose description contain ''word'' | ||
+ | * ''apt install foo'': install the ''foo'' package and all its dependencies | ||
+ | * ''apt show package'': print the detailed information of a package | ||
+ | * ''apt remove foo'': remove the foo package from your system | ||
* ''dpkg -l'': list installed packages | * ''dpkg -l'': list installed packages | ||
Line 600: | Line 652: | ||
<code>$ dpkg -l | grep -i wsl | <code>$ dpkg -l | grep -i wsl | ||
- | ii ubuntu-wsl 1.417.3 amd64 Ubuntu on Windows tools - Windows Subsystem for Linux integration | + | ii ubuntu-wsl 1.450.2 amd64 Ubuntu on Windows tools - Windows Subsystem for Linux integration |
- | ii wslu 2.3.2-0ubuntu2~18.04.3 all collection of utilities for the Windows 10 Linux Subsystem | + | ii wslu 2.3.6-0ubuntu2~20.04.0 all collection of utilities for the Windows 10 Linux Subsystem |
$ dpkg -L wslu | $ dpkg -L wslu | ||
/. | /. | ||
- | /etc | ||
- | /etc/profile.d | ||
/usr | /usr | ||
/usr/bin | /usr/bin | ||
Line 615: | Line 665: | ||
/usr/bin/wslvar | /usr/bin/wslvar | ||
/usr/bin/wslview | /usr/bin/wslview | ||
+ | [...] | ||
+ | |||
+ | $ apt show wslu | ||
+ | Package: wslu | ||
+ | Version: 2.3.6-0ubuntu2~20.04.0 | ||
+ | [...] | ||
+ | Description: collection of utilities for the Windows 10 Linux Subsystem | ||
[...]</code> | [...]</code> | ||
+ | |||
+ | === Adding useful packages === | ||
+ | |||
+ | There is not that much installed by default in Ubuntu, and we use ''apt insall'' to get ready for some real work! | ||
+ | |||
+ | <code>$ sudo apt install gcc libglu1-mesa mesa-utils x11-apps xterm xfce4-terminal emacs evince eog imagemagick nco cdo netcdf-bin ncview</code> | ||
+ | |||
+ | Notes: | ||
+ | * Some of the installed packages (''nco cdo netcdf-bin ncview'') are used for handling data files in //NetCDF format// may not be useful to people outside LSCE | ||
+ | * Adding lots of extra packages requires **much more disk space**, and the size of the ''.vhdx'' will increase significantly! | ||
+ | * <code>$ ls -lh /mnt/d/WSL_Distributions/Ubuntu_custom/ext4.vhdx | ||
+ | 4.7G Sep 16 18:02 /mnt/d/WSL_Distributions/Ubuntu_custom/ext4.vhdx</code> | ||
+ | * Size of the [[other:win10wsl#creating_a_backup|backup]] after adding the extra packages: we go from 549 Mb to 1.2 Gb!\\ 1.2G Sep 19 13:52 WSL_Ubuntu_20.04.5_LTS_stdu_22-09-19.tar.gz | ||
==== Using an X server ==== | ==== Using an X server ==== | ||
Line 646: | Line 716: | ||
* FIXME **//X server// and WSL2** : check ''export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0'' in [[https://solvercube.com/how-to-install-ubuntu-20-04-on-windows-using-wsl/|How to install Ubuntu 20.04 on Windows using WSL]] | * FIXME **//X server// and WSL2** : check ''export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0'' in [[https://solvercube.com/how-to-install-ubuntu-20-04-on-windows-using-wsl/|How to install Ubuntu 20.04 on Windows using WSL]] | ||
- | |||
- | ==== Adding useful packages ==== | ||
- | |||
- | Reminder: you need to use the ''root'' account (with ''sudo -s'') in order to use the following commands | ||
- | |||
- | <code>$ apt-get install gcc libglu1-mesa mesa-utils libsm6 x11-apps | ||
- | |||
- | # Check the "Terminals started from Linux" section | ||
- | # if you need to install extra terminals | ||
- | |||
- | # Install emacs | ||
- | $ apt-get install emacs | ||
- | |||
- | # Install pdf (evince) and image (eog) viewers | ||
- | $ apt-get install evince eog | ||
- | |||
- | # Install wslu to improve the Windows<->Linux communication | ||
- | $ apt-get install wslu | ||
- | |||
- | # The packages below are useful for dealing with climate data | ||
- | # in netCDF files (and are also requirements of CLIMAF) | ||
- | $ aptitude install imagemagick nco cdo netcdf-bin ncview exiv2</code> | ||