まさかろぐ

プログラムのこと、DTMのこととか

カテゴリー: Linux

VSCodeをUbuntuへroot権限なしでインストールする方法(Ubuntu 18.04)

大学のPCでもVisual Studio Codeが使いたい!ということで、root権限なしでインストールする方法を紹介します。

この方法はVSCodeの動作に必要なパッケージが(管理者によってあらかじめ)インストール済みであることが前提となります。
(私の大学の環境ではうまく行きましたが、別の環境(Oracle Linux)ではインストールされているlibg++だったかlibstdg++だったかのバージョンが古すぎてダメだったこともありました。)

 インストール手順

  1. 公式サイト(https://code.visualstudio.com/)から.debパッケージをダウンロード

  2. debファイルを右クリック→「別のアプリケーションで開く」→アーカイブマネージャで開く

  3. アーカイブ内に3つのファイルが出てくるので、「data.tar.xz」をダブルクリックして解凍

    うちの環境だとdataフォルダが生成されてその中に解凍されました(環境によって違うかも)

  4.  「data/usr/share」の中身を「~/.local/share」の中へ移動
    (ドットが先頭についたディレクトリが表示されない場合は、Ctrl+Lを押してアドレスバーを出し、「~/.local/share」と入れてEnterを押します)


    マージするか聞かれると思うので、下のチェックを入れて「マージする」を選択


    その後、ファイルを置き換えるか聞かれるので、同様にチェックを入れて「置き換える」を選択

  5. 「~/.local/share/code」ディレクトリへ移動し、その中の「code」が実行できることを確認(起動できない場合はパッケージがインストールされていない可能性が高いので無理そう?)

ここまでで使用自体は可能ですが、アプリケーションランチャーから起動したいので以下の作業を行います。

  1. 「~/.local/share/applications」を開き、「code.desktop」の実行権限を有効に
    (コマンドでやる場合: chmod a+x code.desktop)
    (GUIでやる場合: 右クリック→プロパティ→アクセス権→「プログラムとして実行可能」にチェック)
  2. 以下のようなメッセージが出るので「信頼して起動」をクリック


    ・・・しても、うまく起動できません。本来「/usr/share/code」内にインストールするところを「~/.local/share/code」内にインストールしているためです。


    ちゃんと起動できるようにするためにはショートカット先を変更する作業が必要になります

  3. 先程まで.desktopファイルだったものは先程の手順の後は「Visual Studio Code」に表示が変わっています。

    これを適当なテキストエディタで開き、以下の部分を編集します。
    変更前:

    [Desktop Entry]
    Name=Visual Studio Code
    Comment=Code Editing. Redefined.
    GenericName=Text Editor
    Exec=/usr/share/code/code --unity-launch %F
    Icon=com.visualstudio.code
    Type=Application
    StartupNotify=false
    StartupWMClass=Code
    Categories=Utility;TextEditor;Development;IDE;
    MimeType=text/plain;inode/directory;
    Actions=new-empty-window;
    Keywords=vscode;
    
    [Desktop Action new-empty-window]
    Name=New Empty Window
    Exec=/usr/share/code/code --new-window %F
    Icon=com.visualstudio.code

    変更後(「■ホームディレクトリの絶対パス■」は適宜変更):

    [Desktop Entry]
    Name=Visual Studio Code
    Comment=Code Editing. Redefined.
    GenericName=Text Editor
    Exec=/■ホームディレクトリの絶対パス■/.local/share/code/code --unity-launch %F
    Icon=com.visualstudio.code
    Type=Application
    StartupNotify=false
    StartupWMClass=Code
    Categories=Utility;TextEditor;Development;IDE;
    MimeType=text/plain;inode/directory;
    Actions=new-empty-window;
    Keywords=vscode;
    
    [Desktop Action new-empty-window]
    Name=New Empty Window
    Exec=/■ホームディレクトリの絶対パス■/.local/share/code/code --new-window %F
    Icon=com.visualstudio.code

    ※修正箇所は5行目と17行目の2箇所です

    ここで、ホームディレクトリのパスに「~」は使えないので注意してください。ホームディレクトリのパスは典型的には「/home/ユーザー名」ですが、大学PCだと異なる場合があります。わからない場合はpwdコマンドとかで確認してください。

    この修正を行うと、ダブルクリックで開けるようになると思います。


    この時点でランチャーからも選択可能になりますが、アイコンはデフォルトのままです。

  4. アイコン画像は「share/code/resources/app/resources/linux/code.png」に入っているので、これを直接指定します。
    再度「code.desktop」(Visual Studio Code)をテキストエディタで開き、「Icon=」から始まる行を以下のように編集します。

    Icon=/■ホームディレクトリの絶対パス■/.local/share/code/resources/app/resources/linux/code.png

    ※修正箇所は6行目と18行目の2箇所です

  5. 以下のようにアイコンもちゃんと表示されるようになりました

以上です。適宜「お気に入りに追加」をしてランチャーに常駐させましょう!

←わーい

たぶんGNOMEデスクトップ環境だったらUbuntu以外のLinuxも同じような手順でいけるはずです。

補足: プロキシ越しでのExtensionのインストール

大学環境とかだとプロキシがかかっていることが多いと思います。VSCodeのExtensionのインストールをプロキシ越しに行う場合は設定が必要になります。

VSCodeのプロキシの設定は以下のQiita記事で解説されています。

Visual Studio Code に Proxy を設定する方法 - Qiita
Visual Studio Code に Proxy を設定する方法です。* Visual Studio Code 1.22.1## ユーザー設定を開き、http.proxy を追記する 会社内等 Proxy環境でExt...

(新しいバージョンのVSCodeだとCtrl+,だけだとsettings.jsonが出て来ません。設定をコピペするには右上の「{}」アイコンをクリックする必要があります。)

ちなみに、うちの環境だと上記方法ではうまく行きませんでした。

(なぜか接続できない)

以下で対処法を説明します。

補足: プロキシ越しでのExtensionのインストールがうまく行かない場合の対処法(オフラインインストール)

vsixファイルというものをブラウザでダウンロードして、それをインストールさせます。

Qiitaに何やかんや手順を踏ませる古い記事が複数個ありますが、現在は以下の手順だけでOKになりました。

  1. https://marketplace.visualstudio.com/にアクセス
  2. 検索してお目当てのExtensionを見つける

  3. Extensionのページ右下のResourcesと書かれた場所にDownload Extensionリンクがあるのでクリックし、vsixファイルをダウンロード

  4. Extensionサイドバーの「・・・」ボタンで出てくるメニューから「Install from VSIX...」をクリックし、ダウンロードしたvsixファイルを開く

ただし、私の環境では「Install from VSIX」でインストールできませんでした。
4の手順の代わりに以下のコマンドを実行してインストールすると、うまく行きました。

$ ~/.local/share/code/bin/code --install-extension (vsixファイル名)

(実行するのはcodeディレクトリ内直下のcodeではなく、binディレクトリ内のcodeの方なので注意)

ホームディレクトリにインストールしていることも関係しているかも知れませんが、原因は不明です。

 

VSCodeを日本語で使いたい場合は日本語の言語パックのExtensionをインストールしておくと良いでしょう。

Ubuntu 18.04でファイルマネージャのキー入力を先頭一致でのフォーカス移動に変更

Nautilus 3.6を境に、キーをしばいた時の挙動が先頭一致によるファイルへのフォーカス(Type-ahead search)からキーワード検索に変更されたようです。

これに伴ってUbuntu 17.04以降ではキー入力時にはキーワード検索されるようになっているようでした。

キーワード検索でも良いっちゃ良いんですが、表示までに少し時間がかかるので割とイライラします。

有志による非公式パッチで先頭一致フォーカスへ変更

先頭一致へ変更する非公式パッチ版(https://github.com/halkotron/nautilus-typeahead)がPPAリポジトリで配布されているので、それを利用します。

以下のコマンドで、PPAリポジトリを追加してインストールします。

$ sudo add-apt-repository ppa:lubomir-brindza/nautilus-typeahead
$ sudo apt full-upgrade

nautilusを一旦終了します。

$ nautilus -q

結果

「op」と入力すると「opt」へ即フォーカスされるようになりました。
遅延なくフォーカスされるのでとても快適。

Ubuntu18.04のnautilusを非公式のものに置き換えることになるので、もし気になる場合は他のファイルマネージャを利用するという選択肢もあります。

情報元

Type Ahead search using Nautilus on Ubuntu 18.04
I am new to Linux and have a little question, more a preference than a problem. Before upgrading to Ubuntu 18.04 LTS, i was using Ubuntu 16.04.1 LTS. When i ...

dynabookでUbuntu Live USBをブートするとGRUBでフリーズする際の解決策

dynabook R83にUbuntu 18.04を入れようとしたところLive USB stickのブート画面で固まってしまいましたが、BIOS設定をいじったら直ったのでそれについて書いておきます。

症状

Ubuntu公式の手順にしたがって作成したLive USB stickを接続し、ブート画面でF12連打→USBメモリから起動するオプションを選択しました。

すると、USBメモリからのブート自体には成功したものの、以下の画面(GNU GRUB version 2.02)で固まりました。
上下キーを押してもカーソルが移動しない状況でした。

解決策

原因はBIOS設定でSecure Boot機能を有効にしていたことだったようです。
同様にF12連打で起動してBIOS設定に入った後、以下のように設定を変更したところ、うまく起動できるようになりました。

  • [Security] → [Secure Boot]: Disabledに変更

海外フォーラム(Ask Ubuntu)ではBIOS設定から「Intel Virtualization Technology」を無効化すると動作するようになるという報告がありましたが、私の環境では特に変化がないようでした。

© 2016-2018 M'z Koo-boo.