いろいろやってみるにっき

てきとーに生きている奴の日記

https化に伴い、表示できなくなっているリンクについて修復中。
2018年から遡って修正し、2015年分まで修正完了。


WSLのUbuntu 22.04でVS Codeを動かす

最初はVS Codeをインストールしてみようと思ったけど、苦戦した。結局Remoteになった。しかもUbuntu 22.04側からまだ接続できてない。

 

VS CodeをUbunu 22.04にインストール

インストールしてみる。手順はこちらを参考にした。

infraya.work

 

curlで引っ張ったdebパッケージをインストールしてみる。

shigeo-t@EAGLEII:~$ curl -L https://go.microsoft.com/fwlink/?LinkID=760868 -o vscode.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   133  100   133    0     0    111      0  0:00:01  0:00:01 --:--:--   111
100 78.8M  100 78.8M    0     0  9121k      0  0:00:08  0:00:08 --:--:-- 10.3M
shigeo-t@EAGLEII:~$ ls -las
合計 80796
    4 drwxr-x--- 7 shigeo-t shigeo-t     4096  511 03:08 .
    4 drwxr-xr-x 3 root     root         4096  510 02:23 ..
    4 -rw------- 1 shigeo-t shigeo-t      479  510 15:15 .bash_history
    4 -rw-r--r-- 1 shigeo-t shigeo-t      220  17 01:23 .bash_logout
    4 -rw-r--r-- 1 shigeo-t shigeo-t     3771  17 01:23 .bashrc
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .cache
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .config
    4 drwxr-xr-x 2 shigeo-t shigeo-t     4096  510 02:26 .landscape
    4 -rw------- 1 shigeo-t shigeo-t       20  510 15:08 .lesshst
    4 drwxr-xr-x 3 shigeo-t shigeo-t     4096  510 15:13 .local
    0 -rw-r--r-- 1 shigeo-t shigeo-t        0  511 02:40 .motd_shown
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .pki
    4 -rw-r--r-- 1 shigeo-t shigeo-t      807  17 01:23 .profile
    0 -rw-r--r-- 1 shigeo-t shigeo-t        0  510 02:27 .sudo_as_admin_successful
80748 -rw-r--r-- 1 shigeo-t shigeo-t 82683356  511 03:08 vscode.deb
shigeo-t@EAGLEII:~$

カールはこちら。

なお当地では売っていない。

 

dpkgは依存関係で失敗。

shigeo-t@EAGLEII:~$ sudo dpkg -i ./vscode.deb
[sudo] shigeo-t のパスワード:
以前に未選択のパッケージ code を選択しています。
(データベースを読み込んでいます ... 現在 61242 個のファイルとディレクトリがインストールされています。)
./vscode.deb を展開する準備をしています ...
code (1.67.1-1651841865) を展開しています...
dpkg: 依存関係の問題により code の設定ができません:
 code は以下に依存 (depends) します: libsecret-1-0 ...しかし:
  パッケージ libsecret-1-0 はまだインストールされていません。
 code は以下に依存 (depends) します: libxss1 ...しかし:
  パッケージ libxss1 はまだインストールされていません。

dpkg: パッケージ code の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
shared-mime-info (2.1-2) のトリガを処理しています ...
処理中にエラーが発生しました:
 code
shigeo-t@EAGLEII:~$ sudo apt install libsecret-1-0
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 code : 依存: libxss1 しかし、インストールされようとしていません
 libsecret-1-0 : 依存: libsecret-common しかし、インストールされようとしていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。
shigeo-t@EAGLEII:~$ sudo apt --fix-broken install libsecret-1-0
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 code : 依存: libxss1 しかし、インストールされようとしていません
 libsecret-1-0 : 依存: libsecret-common しかし、インストールされようとしていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。
shigeo-t@EAGLEII:~$

うまくいかない。

 

マイクロソフトリポジトリを登録する方法

debパッケージ諦めた。マイクロソフトリポジトリを登録する方法にした。

shigeo-t@EAGLEII:~$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   983  100   983    0     0   3023      0 --:--:-- --:--:-- --:--:--  3024
shigeo-t@EAGLEII:~$ ls -las
合計 80800
    4 drwxr-x--- 7 shigeo-t shigeo-t     4096  511 03:21 .
    4 drwxr-xr-x 3 root     root         4096  510 02:23 ..
    4 -rw------- 1 shigeo-t shigeo-t      479  510 15:15 .bash_history
    4 -rw-r--r-- 1 shigeo-t shigeo-t      220  17 01:23 .bash_logout
    4 -rw-r--r-- 1 shigeo-t shigeo-t     3771  17 01:23 .bashrc
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .cache
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .config
    4 drwxr-xr-x 2 shigeo-t shigeo-t     4096  510 02:26 .landscape
    4 -rw------- 1 shigeo-t shigeo-t       20  510 15:08 .lesshst
    4 drwxr-xr-x 3 shigeo-t shigeo-t     4096  510 15:13 .local
    0 -rw-r--r-- 1 shigeo-t shigeo-t        0  511 02:40 .motd_shown
    4 drwx------ 3 shigeo-t shigeo-t     4096  511 02:49 .pki
    4 -rw-r--r-- 1 shigeo-t shigeo-t      807  17 01:23 .profile
    0 -rw-r--r-- 1 shigeo-t shigeo-t        0  510 02:27 .sudo_as_admin_successful
    4 -rw-r--r-- 1 shigeo-t shigeo-t      641  511 03:21 microsoft.gpg
80748 -rw-r--r-- 1 shigeo-t shigeo-t 82683356  511 03:08 vscode.deb

 

依存関係を解決してみる。

www.linuxcapable.com

shigeo-t@EAGLEII:~$ sudo apt install apt-transport-https gnupg2 -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 code : 依存: libsecret-1-0 しかし、インストールされようとしていません
        依存: libxss1 しかし、インストールされようとしていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。
shigeo-t@EAGLEII:~$

 

sudo apt --fix-broken installを実行。

shigeo-t@EAGLEII:~$ sudo apt --fix-broken install
  libsecret-1-0 libsecret-common libxss1
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
137 kB のアーカイブを取得する必要があります。
この操作後に追加で 522 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsecret-common all 0.20.5-2 [4,278 B]
取得:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsecret-1-0 amd64 0.20.5-2 [124 kB]
取得:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libxss1 amd64 1:1.2.3-1build2 [8,476 B]
137 kB を 2秒 で取得しました (66.1 kB/s)
以前に未選択のパッケージ libsecret-common を選択しています。
(データベースを読み込んでいます ... 現在 62723 個のファイルとディレクトリがインストールされています。)
.../libsecret-common_0.20.5-2_all.deb を展開する準備をしています ...
libsecret-common (0.20.5-2) を展開しています...
以前に未選択のパッケージ libsecret-1-0:amd64 を選択しています。
.../libsecret-1-0_0.20.5-2_amd64.deb を展開する準備をしています ...
libsecret-1-0:amd64 (0.20.5-2) を展開しています...
以前に未選択のパッケージ libxss1:amd64 を選択しています。
.../libxss1_1%3a1.2.3-1build2_amd64.deb を展開する準備をしています ...
libxss1:amd64 (1:1.2.3-1build2) を展開しています...
libxss1:amd64 (1:1.2.3-1build2) を設定しています ...
libsecret-common (0.20.5-2) を設定しています ...
libsecret-1-0:amd64 (0.20.5-2) を設定しています ...
code (1.67.1-1651841865) を設定しています ...
libc-bin (2.35-0ubuntu3) のトリガを処理しています ...
needrestart is being skipped since dpkg has failed

 

インストールできたっぽい。でも動かない。

shigeo-t@EAGLEII:~$ code
To use Visual Studio Code with the Windows Subsystem for Linux, please install Visual Studio Code in Windows and uninstall the Linux version in WSL. You can then use the `code` command in a WSL terminal just as you would in a normal command prompt.
Do you want to continue anyway? [y/N] y
To no longer see this prompt, start Visual Studio Code with the environment variable DONT_PROMPT_WSL_INSTALL defined.

メッセージをGoogle 翻訳で訳してみるとWindowsのほう使えって書いてある。WSL側のUbuntuVS Codeをインストールって前に成功していなかったっけ?

Windows Subsystem for LinuxVisual Studio Code を使用するには、Visual Studio CodeWindows にインストールし、Linux バージョンを WSL でアンインストールしてください。その後、通常のコマンド プロンプトの場合と同様に、WSL ターミナルで 'code' コマンドを使用できます。

apt removeした。自分でやったエントリは見つけられなかったけど、やっぱり前は動いてたよね。

qiita.com

 

VS Code Remoteの設定

自分で書いたものもあるのだが、インストール版が動かなくなってたとか、色々変更があるとまた手間なので公式を見る。

docs.microsoft.com

Remote Development 拡張機能パックのリンクをクリックするとこのページが開く。[Install]をクリックする。

ダイアログが出るので[Continue]をクリックする。

このページの上のほうにこのダイアログが出る。[Visual Studio Codeを開く]をクリックする。

インストール済だった。

 

VS Code側は問題ないはずなので、Ubuntu 22.04で起動を掛ける。

shigeo-t@EAGLEII:~$ code
Installing VS Code Server for x64 (f30a9b73e8ffc278e71575118b6bf568f04587c8)
Downloading: 100%
Unpacking: 100%
Unpacked 1824 files and folders to /home/shigeo-t/.vscode/bin/f30a9b73e8ffc278e71575118b6bf568f04587c8.
/mnt/c/Users/shigeo-t/.vscode/extensions/ms-vscode-remote.remote-wsl-0.64.2/scripts/wslCode.sh: 63: /home/shigeo-t/.vscode/bin/f30a9b73e8ffc278e71575118b6bf568f04587c8/bin/remote-cli/code: not found
shigeo-t@EAGLEII:~$

remote-cli/code: not foundである。

 

でもWindowsVS CodeからはWSLのUbuntu 22.04につながる。これで良ければ何もインストールしなくても良かった。このPCではRemote Devlopment設定済だったし。

このPCで別のディストリビューションでも同じエラーで起動失敗する。Ubuntu 18.04からも同じエラーで起動失敗である。このPCがおかしいかも。

 

VS Codeをアンインストール→インストール

別のPCでUbuntu 18.04からVS Codeを起動してみると問題なくWSLからVS Codeを起動できる。そこで一度このPCでVS Codeをアンインストール→インストールしてみた。今度は起動成功。単にこのPCのVS Codeの環境がおかしくなっていたようだ。

エラーは出ない。そしてつながった。

 

Windows側のVS Codeが何かおかしくなっていたようだ。