RSS2.0

WSL2 / Windows Terminal / Windows 10 で Ubuntu 環境を構築する

Windows で CUI の Ubuntu 環境を構築するのによいという WSL2 で Linux 環境を作ってみました。
VMPlayer や VirtualBox のように Windows 上で VM として Linux が動く形ですが、Linux カーネルが完全に動く(らしい)わりにめっちゃ軽いのが特徴です。私の環境だと 5 秒くらいで Ubuntu が起動してくれるます。早い。Windows で作業をしている時に、使いたいタイミングで追加で Linux 動かせるのがいいですね。

WSL2 で起動した Linux 内の GUI アプリを Windows 上のウインドウアプリケーションとして動かす(VirtualBox のシームレスモード)こともできますが、今回は WSL2 の CUI ターミナルだけ使っています。

また、WSL2 で起動した Ubuntu の CUI ターミナル(と WSL を起動するのに利用する PowerShell)をよりリッチに使うために、Windows Terminal もインストールしました。
wsl02.png
Windows Terminal を使うとこんな風に WSL2 のターミナルや PowerShell、Git Bash(使うには自分で追加設定が必要)などをまとめて 1 つのターミナルから触れるようになります。
続きを読む Linux  コメント (0) 2024/11/13 12:02:23

マルチブート環境で Fedora 29 をインストールする

fedora29.png
そろそろ頃合いかなということで手元の Linux 開発環境も、先日組んだ自作 PC に移行することにした。
すでに Windows がインストールされているマシンなので、恒例のマルチブート構成(EFI ブート)で Fedora 29 を追加でインストールした。
ビデオカードのドライバー設定などは毎回はまるので、作業の覚書きとして、詰まりそうな箇所のみ将来のために特筆しておく。

Fedora 29 のパーティションをカスタマイズする

Fedora 29 Workstation の Live メディアを USB メモリとして作っておき、それでブート後にインストールしていく。
インストールは画面に従って進めていけばいいが、パーティションのレイアウトだけは自分で決めたかったので以下のようにカスタマイズした(もちろんパーティションのレイアウトは自動で生成することもできる)。

fedora29_partitions.png
インストールするディスクが sdb だったので、パーティションは指定した順に /dev/sdb1 〜 /dev/sdb2 になっている。
デバイス    マウントポイント   サイズ   タイプ
/dev/sdb1   /boot/efi          200MiB   EFI パーティション
/dev/sdb2   swap               2GiB     swap
/dev/sdb3   /                  109.6G   ext4
近年の流れにのって EFI でブートするようにするため、200 MiB の /boot/efi パーティションを忘れずに先頭に置いておく。
メモリは 16 GB 積んでいるので swap パーティションを作る必要があるのか迷ったが、今までずっと作ってきたので今回もなんとなく作っておいた。
残りの容量はすべて何も考えずに / に割り当てた。個人の開発環境なのでこれくらいがちょうどいいかなと。

NVIDIA のビデオカードのドライバーをインストールする

毎回 Linux 環境を作る際に苦労するのがこの NVIDIA のビデオカード用ドライバーのインストールになる。せっかくいいビデオカードを積んでいるので綺麗な GUI でマルチディスプレイ環境を使えるようにしたいのだが、NVIDIA のドライバーは別途インストールしなければならないこともあり、面倒くさい。

続きを読む Linux  コメント (0) 2018/12/09 13:28:15

VMwarePlayer で動かした Fedora 26 で KVM を動かしてみる

諸事情により VMwarePlayer で利用している Fedora 26 の中で、さらに KVM を動かせたので方法を残しておきます。
KVM を使いたい理由はマイブームの Flutter 開発で、Android エミュレーターを高速に動かすためです。Linux の Android エミュレーターって、HXAM(Intel Hardware Accelerated Execution Manager) の代わりに KVM を使うと高速化できるそうなのです。
バーチャルマシンの中でバーチャルマシンを動かすという 2 重入れ子なんてとてもパフォーマンスが出ないだろうと思っていたのですが、KVM を有効化しない場合に比べれば結構早く動くようになったので、試してみてよかったです。

前提として、物理マシンや一層めの VMwarePlayer で、HXAM や KVM を有効にしておきましょう。
物理マシンについては BIOS の設定で、VMwarePlayer についてはゲストのバーチャルマシンの CPU の設定で有効にできます。

Fedora 26 に KVM をインストールする

KVM を使うとはいえ、qemu や libvirt も組み合わせて使う必要があるので以下のパッケージを入れておきます。
# dnf install -y qemu-kvm virt-manager virt-install

更に、バーチャルマシンを入れ子にして使う場合のパフォーマンスを上げるため、カーネルモジュールの Nested KVM を有効にします。

以下のコマンドで現在の Nested KVM の設定を確認できます。
# cat /sys/module/kvm_intel/parameters/nested 
N
N(無効)になっているので、これを Y(有効)にしていきます。
設定ファイル /etc/modprobe.d/qemu-system-x86.conf に "options kvm_intel nested=1" を追記します。
設定ファイルを読み込むため、一度カーネルモジュールを外して再度読み込みます。カーネルモジュールは modprobe コマンドでロード/アンロードすることができます。
# echo "options kvm_intel nested=1" >> /etc/modprobe.d/qemu-system-x86.conf
# modprobe -r kvm_intel 
# modprobe kvm_intel 
カーネルモジュール kvm_intel を再ロードしたら、Nested KVM の設定を確認してみます。
# cat /sys/module/kvm_intel/parameters/nested 
Y
Y(有効)になりました。

virt-manager でバーチャルマシンを管理する

これは Android エミュレーターを使う話ではなく、普通にバーチャルマシンとして他の OS を使う話になります。

KVM でのバーチャルマシンの管理には、libvirt で提供される virt-manager を使うと便利です。
virt-manager を実行するユーザーを libvirt グループに所属させておくと、su 権限なしで実行できるそうなので、グループに所属させておきます。
# gpasswd -a momokan libvirt

あとは virt-manager コマンドを叩けば virt-manager を起動できます。
$ virt-manager 

Android エミュレーターを起動する

KVM を有効にして Android エミュレーターを動かすには、Android エミュレーターに KVM を有効化するオプションを渡す必要があります。
昔の Android Studio では Android エミュレーターを起動する際にこのオプションを指定できたようなのですが、現在の AVD Manager には設定項目が見当たりません。なので、一度 AVD Manager で作った Android エミュレーターを、Android SDK の emulator コマンドで起動します。
$ emulator -avd Pixel_API_27 -qemu -m 1024 -enable-kvm &
Pixel_API_27 というのが私が作った Android エミュレーターの名前です。-enable-kvm オプションを指定することで、KVM を有効にして起動することができます。
ちなみに -m オプションは端末のメモリ量(MB)です。ついでに指定しておいたもので KVM の有効化とは関係ありません。
  Linux  コメント (0) 2018/05/10 18:58:37

Linux 版 Sublime Text 3 で日本語入力変換キーを変更する

Linux (Fedora 26) で Sublime Text 3 を使っていてると、日本語入力の切り替えキーがきになります。
日本語入力への切り替えキーは、デフォルトでは Ctrl + \ というなんとも珍しいキーバインドにマッピングされています。
右の Ctrl キーを使えば片手でも打てないことはないんですが、BackSpace が近いのと、完全にホームポジションから手が離れるのが気になります。
他にいいキーバインドはないものかといろいろ試してみたのですが、結局 Ctrl + Space に落ち着いたので、その設定方法を書いておこうと思います。
Ctrl + Space というと Fedora Core 時代のようで少し懐かしいですね。

Sublime Text 3 のキーマップを変更する

メニューバーの Preferences > Key Bindings を選択します。

キーバインドを設定するための Default (Linux).sublime-keymap - Default と Default (Linux).sublime-keymap - User というタブが開くので、ユーザーの設定を書く Default (Linux).sublime-keymap - User の方に以下の内容を記載し、保存します。
[
  { "keys": ["ctrl+space"], "command": "toggle_mozc" }
]
これで OK です。
続きを読む Linux  コメント (0) 2018/01/21 12:00:03

Dynabook KIRA V634 を買ったので Fedora 20 をインストールしてみた

薄くて軽くて高性能なノート PC が欲しくなって、Dynabook V634/W7K を買ってみました。Intel 第四世代 CPU はまだ買ったことがなかったので、これが Haswell 初体験です。

今まで MacBook Air を使っていたので、PC 選びの基準は MacBook Air でした。MacBook Air はコストパフォーマンスを含めてすばらしいマシンだと思いますが、画面解像度の高さが 900 ピクセルしかないことと、Fedora 20 で英数・かなキーを認識してくれないのが数少ない残念ポイントでした。それでなんとなくネットを見ていたらこのマシンが目に入り、衝動買いしてしまいました。
やったね!これからはお出掛け前の気分で MacBook Air と Dynabook V634 を選べるね!
dynabook_vk632.jpg
Dynabook はハードウェアデザインもかなり MacBook Air を意識して作られたようです。キーボードの感じなんかは特に MacBook Air を追いかけてる感じがしてます。

Dynabook V634 は、私が見かけた PC の中では私のマシン選びの条件を一番多くクリアしていました。

画面解像度が高い

画面の物理サイズは、Dynabook V634 の高さは MacBook Air よりひとまわり小さいです。
画面解像度が 2560 x 1440 なので、UI が随分小さく細かくなったように感じます。
だがそれがいい。これだけ解像度があるとタイトルバーがやたら太い GNOME3 を使う上でとても安心です。

薄い、軽い

外出時の持ち運び用途なので重要。MacBook Air が重く感じてきたのでそれより重いのは NG。
MacBookAir が 1.35 kg、Dynabook V634 が 1.12kg なので若干軽いらしいです。持ってみた実感として軽くなった印象は…少し軽くなってる??

メモリ 8 GB

開発で DB やら eclipse やらいろいろ動かすので積めるだけ積みたい派です。
Dynabook V634 は 8GB (おそらく DDR3)なので、悪くはないレベル。次のモデルではぜひぜひ 16 GB とか検討して頂けると泣いて喜びます。

ストレージは SSD のみ

MacBook Air の高速環境に飼いならされた身としては SSD もはずせないポイント。
けれど容量にはそれほど要求はなく、120 GB あれば十分でした。Dynabook V634 の SSD は 256GB なのでかなり潤沢です。
最近のメーカー品だと HDD とのハイブリッド構成なんかもあるそうですが、ディスクは音や重さを考えると返ってないほうがいいのかなと思います。

Haswell 搭載

CPU も最高クラスが欲しいわけではありませんでしたが、電源消費が改善されたと噂の Haswell であることは条件でした。Dynabook V634 は Intel Core i7-4500U です。
Dynabook V634 はバッテリーの持続時間が長いことでネット上では大きく扱われているようですが、この辺は Haswell の功績が大きいのではないでしょうか。ちなみに、私の買った V634/W7K の駆動時間は 14 時間です。同じ大きさで画面解像度がひとまわり小さい V634/W6K は 22 時間連続稼動するそうです。

液晶パネルはノングレアではない

公式サイトには SuperView LED液晶とあります。パネルの種類はあまり詳しくないのですが、ノングレアではないです。
照明が綺麗に写りこみます。人によってはすごく気になるポイントだと思います。
他のスペックが満足できるレベルだったので、この点は妥協しました。開発用途として使うつもりなので画質にはそれほどこだわらないので、気になるようならアンチグレアシートなど検討してみようと思います。



ということで、Dynabook V634 は軽い・早い・画面が広いという私の中の条件を納得できるところで達成していました。

ただしお値段は日本メーカー製だけあってだいぶ高いです。
ハードウェアスペックやマシン自体の作りを比較すると MacBook Air の品質の高さを再認識させられます。あの値段であのスペックとなれば、OS うんぬんの話は抜きにしても、人気が出ないはずはないです。この辺はもう少し日本のメーカーにも考えて欲しいところ。
続きを読む Linuxお買い物  コメント (0) 2014/05/25 19:49:45

svn リポジトリをローカルにコピーしてから git リポジトリに変換する

今年になって、個人的なコードを書き溜めていた svn リポジトリを徐々に git に移行しています。

私はフリープランでもプライベートリポジトリを無制限に作れることから、数年前から assembla を使っていました。しかし最近(??)になってフリープランで作れるリポジトリ数に上限が設定されたようで、新しいリポジトリが作れなくなっていました。有料プランへ乗り換えられればよかったのですが、リポジトリ数をふまえて開発予算(お小遣い)と相談した結果、やむなくお世話になった assembla から bitbucket に移住することにしました。念のため強調しておきますが、これまでながらく愛用していたことからもわかるとおり、assembla 自体に不満があるわけではありません。あくまでやんごとなき事情(お小遣い)のため、泣く泣くの別れとなります(涙)。

移住先として選んだ bitbucket はリポジトリ数の上限こそないものの、コミッターの総数が 5 人までに制限されています。私は他人に見せられるコードは別途 github に置いているので、プライベートリポジトリについてはこの制限はまったく考慮しなくてよいものでした。

 assembla の svn リポジトリに git svn clone するとエラーで落ちる

assembla から git への引越し作業にはすこし面倒でした。
ネットの各所に資料があるとおり、svn リポジトリを git リポジトリに変換するには git svn clone を使えばいいのですが、assembla 上の svn リポジトリにこのコマンドを使うと以下のようなエラーが発生し、変換処理が異常終了してしまいました。
...
r372 = 4b5404a5643c5d3refref081c06c3acaa2e8eeb (refs/remotes/trunk)
Checked out HEAD:
  https://subversion.assembla.com/svn/momokan/myrepo01/trunk r372
error closing pipe: 不正なファイル記述子です at /usr/libexec/git-core/git-svn line 0.
error closing pipe: 不正なファイル記述子です at /usr/libexec/git-core/git-svn line 0.
詳細がよくわかないのですが、時間を置いて再度実行してもここで落ちてしまうため、別の手段で移行を進める必要がありました。

続きを読む Linux  コメント (0) 2014/05/13 22:15:33

Git 実行時にブランチとユーザー情報を表示してみる

最近になって、私が関係しているプロジェクトもだいたい Suvbersuin から Git に移行してきました。Git 自体は便利ですし、おもしろい機能もいっぱい詰まったとても魅力的なツールなのですが、Git を使う上ではいくつか気をつけなければならない点があります。

1 つは、自分が今どのローカルブランチにいるかを意識しなければならないことです。
Git では複数のブランチを切り替えて渡り歩くということが頻繁にあります。develop ブランチで開発していたけれど、少し大きめの実装をしなければならなくなると専用の別ブランチを切ってみたり、そこで日をまたぐと翌日には develop にいるものと思い込んで別ブランチで develop のコミットをしてしまったり、という失敗をたまにやってしまうのです。
もちろん、まず git branch を実行して確かめる習慣をもつことが重要ですが、いちいち git branch をタイプするのが何気に面倒なのです。

もう 1 つ、Git でコミットをする際のユーザー名とメールアドレスの設定忘れです。
Git でコミットするとコミットログに自動で user.name と user.email が追記されますが、これはリモートリポジトリからソースコードを取ってきた後自分で設定しなければなりません。git config に --global オプションを設定すれば設定値を共有できるそうですが、私は違うアカウントでいくつものリポジトリを自分のマシンに置いておくことが多く、それぞれのリポジトリで正しい名前でコミットされているかをいつも気にかけています。

ということで、より快適な Git ライフを手に入れるべく、git コマンド実行時にブランチ名やユーザー情報を表示するシェルスクリプトを書いてみました。
gitinfo.png

続きを読む Linux  コメント (0) 2014/03/06 00:01:52

Fedora 20 をインストールした後に行うひと通りの初期設定

月曜日にしていた Fedora 20 のインストール作業に関する記事です。
Fedora 20 の UI はまた少しずつおしゃれに進化していて、これなら職場の PC も遠くないうちにバージョンアップすることになりそうなので、Fedora のインストール後に私がいつもやる初期設定をまとめて書いておきたいと思います。

初期設定は UI 関連のことを中心にしています。私の Fedora の用途は開発環境としてなので、エンジニア的なこともそれなりに含まれていますが、java とか ant とか maven とかのインストールは割愛しています。もし同じようなことをやりたいとなった時に、参考にしていただけるものがあれば嬉しいです。

fedora20_setup.png


続きを読む Linux  コメント (0) 2014/01/16 00:21:22

Fedora 17 にて SCSI 接続のドライブで CD を焼いてみる

2013 年 12 月 17 日に Fedora 20 の Final Release がリリースされました。
Fedora プロジェクト 10 周年記念だそうで、Fedora Core が出始めた頃からのユーザーとしてはなんとも感慨深いものです。
私は何気にめんどくさがりで、PC の置き換えなどがないとなかなか OS の入れ替えはしないのですが、せっかくなので家の開発環境を更新してみることにしました。今使ってる Fedora 17 は 2013 年 7 月 30 日にサポート切れてますしね!

さっそく Fedora 公式ページから Live 版を取ってきたのはいいものの、cdrecord コマンドで ISO イメージを焼こうとしたところ、こんなエラーが出ました。
# cdrecord -scanbus
wodim: No such file or directory. 
Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
ドライバーが使えないですエラーです。
ていうか SCSI って!久しぶりに聞いたよ!そういえば SCSI 接続だったのを今思い出したよ!

Dropbox や github なんかでファイルを管理するこのご時世に、CD や DVD メディアを焼くなんてことも少なくなってきました。
備忘録がてら、Linux 環境で CD / DVD を焼く方法について書き残しておきたいと思います。

続きを読む Linux  コメント (1) 2014/01/13 12:50:49

Putty の鍵ファイル .ppk を Linux ssh 用に変換してみる

最近 Windows 文化の人と仕事をすることが多く、そのせいなのかはわかりませんが、ec2 インスタンスログイン用の秘密鍵が ppk で届きました。ppk は個人的にはあまり馴染みのない鍵のフォーマットで、GNOME ターミナル好きとしては Linux の ssh コマンドで使える OpenSSH 互換のファイル形式に変換したいなということで変換してみました。

ちなみに、Linux 用の Putty クライアントもいくつかあるようで、それを使えば Linux マシンからも Putty 形式の秘密鍵でも ssh 接続できるようです。

続きを読む Linux  コメント (0) 2013/08/21 22:20:26
プロフィール HN: ももかん
ゲーム作ったり雑談書いたり・・・していた時期が私にもありました。
カレンダー
<<2024, 11>>
272829303112
3456789
10111213141516
17181920212223
24252627282930