ホーム » 「wsl」タグがついた投稿

タグアーカイブ: wsl

システム

最近の投稿

アーカイブ

カテゴリー

wsl GUI がWindows10で利用可能に

Windows 10 の 22H2 が適用できるようになり、VcXsrvのような X11 サーバを起動しなくても、GUI の wsl が動かせるようになった。

KB5020030(「2022-11×64ベースシステム用Windows 10 Version 22H2の累積更新プログラム」)がインストールして、再起動などが終わらせておく。wsl が導入済みなら、PowerShell (管理者モード) で、wsl.exe –update を実行するだけ。wsl –version でバージョンが表示されるようになったら成功。

PS C:\WINDOWS\system32> wsl.exe --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム  はインストールされました。
PS C:\WINDOWS\system32> .\wsl.exe --version
WSL バージョン: 1.0.0.0
カーネル バージョン: 5.15.74.2
WSLg バージョン: 1.0.47
MSRDC バージョン: 1.2.3575
Direct3D バージョン: 1.606.4
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windowsバージョン: 10.0.19045.2311

LaTeX で 図入り文書を書く時によく使う簡単なエディタ tgif を使いたかったが、ISO8859-1 のフォントが使えずエラーがでたけど、xfonts-shinonome などを入れたら、無事に動くようになった。emacs なども動くし便利。

$ tgif
Fatal Error in OpenFont(): Cannot open the Default(Msg)Font
   '-*-courier-medium-r-normal-*-14-*-*-*-*-*-iso8859-1'.
Tgif aborted.
$ sudo aptitude install xfonts-shinonome
以下の新規パッケージがインストールされます:

職場のWin10マシンはまだ使えず

うーむ、職場の Windows 10 は、相変わらず KB5020030 のアップデートが表示されない。”wsl –version” もエラーのまんまだな。Windows 11 にアップデートした方がいいのかな。

WSLでX11 GUIを使う

WSLでX11のGUIを使う時のメモ

Windows 11 の WSL になれば、X サーバなど準備しなくても動くようになるんだけどね。WSLのPythonでGUIアプリを動かすにはどうすればいいかと試してみた。

XcXsrv を入れてあったけど、面倒で環境作ってなかった。改めて X関係のソフトを入れてみた。

$ sudo aptitude install x11-apps fonts-ipafont inkscape gimp tgif
$ export DISPLAY=192.168.xx.yy:0.0
$ xeyes

GIMPとかInkscapeとかGoogle Chromeなども入れてそれなりに上手く動くけど、emacs が上手く動かないな…

Windows 10(2004)とwsl2をインストール

wsl2 を使いたくって、windows insider preview を導入して、そろそろ公開されるはずの Windows10 (ver:2004,build:19041)に更新し、Windows Subsystem for Linux 2 をインストールしてみた。

wslの起動は、いままでもっさりしてたけど、今はconsole開いたら、すぐに使えるな。

ただ、Windows の更新で、カナ漢字変換のキーアサインが元に戻ってら。

XcXsrv の最新版を入れる

Bash on Windows やら、Linux 環境を Windows と絡めて使っていると、Windows 環境用の X Server が使いたくなる。以前は、Xming とか cygwin などを使っていたけど、設定などが大変なので、XcXsrv を使っていた。しかし、アプリによってはうまく動かず、tgif などはフォントが見つからないというエラーが出る。

調べると、gsfonts-x11 を入れるとか出てくるけど、ローカルサーバのお話。XcXsrv に gsfonts-x11 を入れるといいのだろうけど、これまた設定がややこしそう。

しかし、最新の XcXsrv-1.20 を入れたら、特にフォント入れなくても、問題なく動くじゃん。

DISPLAY環境変数の設定

そんなに X Server を使うわけじゃないけど、WSL環境と、Linuxサーバで DISPLAY 環境変数を設定する処理を .profile に書いとくか。

(( WSL環境の $HOME/.profile に追加 ))
if [ -z "$DISPLAY" -a -n "$HOSTNAME" ]; then
    export DISPLAY=$HOSTNAME:0.0
fi

(( Linuxの $HOME/.profile に追加 ))
if [ -z "$DISPLAY" -a -n "$SSH_CLIENT" ]; then
    case $SSH_CLIENT in
        192.168.*)
            export DISPLAY=`echo $SSH_CLIENT | cut -d' ' -f 1 `:0.0
            ;; 
        *)  ;;
    esac
fi

Windowsのwslコマンド

紹介記事で、最新のWindows での Windows Subsystem for Linux の使い方の説明があった。普通に bash.exe を起動する以外にも、wsl コマンドがあり、コマンド1つでも Linux の呼び出しができるんだ。

C:\User\foo> wsl ls -al                  Windows で ls -al を実行
-rwxr--r-- 1 foo  foo  20  5月  1 06:05 ntuser.ini
lrwxrwxrwx 1 foo  foo   0  5月  1 05:40 スタート メニュー
C:\User\foo> wsl vi test.c               普通にコーディングと実行もできる。
C:\User\foo> wsl gcc test.c
C:\User\foo> wsl ./a.out
C:\User\foo> type test.c | wsl grep "#"  Windows と Linux 間でパイプをつなげることも可能

WSLでdebianを入れる

WSL(Windows Subsystem for Linux?) で Debian が簡単にインストールできるようなので、インストールしてみる。

Bash on Windows で Ubuntu は使わないので消す

Debian 派生の Ubuntu といっても、デスクトップ環境が使えないなら、Ubuntu の必要性はない。Windows で LaTeX 環境として使っていた程度で、執着はないので、あっさり消す。

> cmd.exe 管理者モードで起動
> lxrun /uninstall /full

WSL で Debian を入れる

サーバ管理という点では、Debian に慣れているし、ほぼ Ubuntu でいいじゃんと思いつつも、信者なので。

Enter new UNIX username:

xxxxxxxx

Enter new UNIX password: yyyyyyyy
Retype new UNIX password: yyyyyyyy
$ sudo bash
# apt-get update ; apt-get dist-upgrade
# apt-get install aptitude
# aptitude install lv w3m git \
      emacs25 anthy anthy-el \
      cjk-latex latex-cjk-all tgif man \
      gcc g++ flex bison make cmake
# aptitude purge nano
# vi /etc/locale.gen
ja_JP.UTF-8 UTF-8  # コメントを外す
# locale-gen
# update-locale LANG=ja_JP.UTF-8

wsl.conf

(( /etc/wsl.conf ))
# Enable extra metadata options by default
[automount]
enabled = true
mountFsTab = true
root = /mnt/
options = "metadata,umask=22,fmask=11"

# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

ssh_exchange_identification connection closed

自宅でBash On Windows の環境から ssh でサーバに入ろうとしたら、以下のようなエラーで接続エラー。

$ slogin server
ssh_exchange_identification connection closed

色々確認したら、自宅内の IPv6 のアドレスとれるようにしてあって、IPv6 でつなげようとしてた。hosts.allow に、fe80::/64 を追加。

(( /etc/hosts.allow ))
+ sshd: [fe80::0]/64

Google 検索

My Google   Yahoo

Microsoft

ファンサイト