- 投稿日:2020-02-04T17:47:10+09:00
Docker for windows環境にてPowershellでCtrl+zが使用できない問題の解決法(仮)
Docker for windows環境にてPowershellを使ってDocker上のLinuxをCUI操作している場合、Ctrl+zでLinuxにシグナルを送ろうとしても上手く動作しない。
Ctrl+zがPowershellの操作に割り当てられている様子。Linuxを抜けてPowershellの操作に戻ってしまう。
簡単な解決法として、Powershellで「レガシーコンソール」を使用することで解決した。プロパティから「レガシーコンソール」を選択するだけ
PowerShellのバー上で右クリック → プロパティを選択
これ以外のもっとエレガントな解決方法がきっとあるはずである。
参考:Windows PowerShell, Control-Z, and Kitematic
https://alankent.me/2017/07/04/windows-powershell-control-z-and-kitemati/
- 投稿日:2020-02-04T12:24:31+09:00
[MEMO][TERMINAL] HYPER + FiraCode
はじめに
LinuxでもFiraCodeをターミナルで使いかったので
やり方
Hyper
https://hyper.is/#installation
wget https://releases.hyper.is/download/debsudo dpkg -i package-x.x.x.debFiraCode
https://github.com/tonsky/FiraCode/wiki/Linux-instructions
sudo add-apt-repository universesudo apt install fonts-firacodefc-list | grep fira > /usr/share/fonts/woff/firacode/FiraCode-Regular.woff: Fira Code:style=Regular /usr/share/fonts/opentype/firacode/FiraCode-Retina.otf: Fira Code,Fira Code Retina:style=Retina,Regular /usr/share/fonts/woff/firacode/FiraCode-Light.woff: Fira Code,Fira Code Light:style=Light,Regular /usr/share/fonts/woff/firacode/FiraCode-Bold.woff: Fira Code:style=Bold /usr/share/fonts/opentype/firacode/FiraCode-Bold.otf: Fira Code:style=Bold /usr/share/fonts/opentype/firacode/FiraCode-Regular.otf: Fira Code:style=Regular /usr/share/fonts/opentype/firacode/FiraCode-Medium.otf: Fira Code,Fira Code Medium:style=Medium,Regular /usr/share/fonts/opentype/firacode/FiraCode-Light.otf: Fira Code,Fira Code Light:style=Light,Regular /usr/share/fonts/woff/firacode/FiraCode-Medium.woff: Fira Code,Fira Code Medium:style=Medium,Regular設定
~/.hypter.jsmodule.exports = { config: { // choose either `'stable'` for receiving highly polished, // or `'canary'` for less polished but more frequent updates updateChannel: 'stable', // default font size in pixels for all tabs fontSize: 12, // font family with optional fallbacks fontFamily: 'Fira Code, "Menlo", "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
- 投稿日:2020-02-04T12:21:39+09:00
LXC で NVIDIA GPU が使えるコンテナを作る
異なるバージョンのCUDAを一つの計算機で共存したいときにこうすると便利である。ホスト側のLinuxで
nvidia-smiを実行したときと同じようにコンテナ内のnvidia-smiが動作するようにする。LXC でコンテナを作成し実行することはすでに出来ているとする。ホスト側でnvidia-smiを実行すると以下のように見える
# nvidia-smi Tue Feb 4 10:52:19 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.48.02 Driver Version: 440.48.02 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 208... Off | 00000000:08:00.0 Off | N/A | | 30% 31C P8 25W / 250W | 18MiB / 11016MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce RTX 208... Off | 00000000:09:00.0 Off | N/A | | 29% 32C P8 20W / 250W | 1MiB / 11019MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1262 G /usr/lib/xorg/Xorg 16MiB | +-----------------------------------------------------------------------------+ホスト側での作業
まず
lxc-create -n コンテナ名 -t download -- -d ubuntu -r eoan -a amd64でUbuntuのコンテナを作る。もし/var/lib/lxcがBTRFSにあるなら-B btrfsを付けておくと後でlxc-copy -n 古いコンテナ -N 新しいコンテナでコンテナを複製するときに掛かる時間が劇的に短くなる。次に
lxc-execute -n コンテナ名 -- /bin/passwdでrootに適切なパスワードを設定する。以下の設定を追加する
/var/lib/lxc/コンテナ名/configに追加lxc.mount.entry = /dev/nvidiactl dev/nvidiactl none bind,rw,create=file 0 0 lxc.mount.entry = /dev/nvidia-modeset dev/nvidia-modeset none bind,rw,create=file,optional 0 0 lxc.mount.entry = /dev/nvidia-uvm dev/nvidia-uvm none bind,rw,create=file 0 0 lxc.mount.entry = /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,rw,create=file 0 0 lxc.mount.entry = /dev/nvidia0 dev/nvidia0 none bind,rw,create=file 0 0 lxc.mount.entry = /dev/nvidia1 dev/nvidia1 none bind,rw,create=file,optional 0 0 lxc.cgroup.devices.allow = c 195:* rwm lxc.cgroup.devices.allow = c 235:* rwm最後に
lxc-start -F -n コンテナ名でコンテナを起動する。ログインプロンプトが表示されたらrootでログインする。コンテナ内での作業
apt-get --no-install-recommends install software-properties-common add-apt-repository ppa:graphics-drivers/ppa apt-get --no-install-recommends install nvidia-utils-440最後の
nvidia-utils-440はホスト側LinuxのNVIDIAドライバのバージョンと完全に同一でないとエラーになりnvidia-smiが動作しないので注意。ここまで行いコンテナ内でnvidia-smiを実行すると# nvidia-smi Tue Feb 4 02:01:33 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.48.02 Driver Version: 440.48.02 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 208... Off | 00000000:08:00.0 Off | N/A | | 30% 31C P8 26W / 250W | 18MiB / 11016MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce RTX 208... Off | 00000000:09:00.0 Off | N/A | | 29% 32C P8 20W / 250W | 1MiB / 11019MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+となる。
他のホストからネットワーク的に見えるようにするには
設定ファイルに以下の内容を追加する
/var/lib/lxc/コンテナ名/configに追加lxc.net.0.type = macvlan lxc.net.0.link = enp6s0 # この名前は "ip l" で表示されるEthernetインターフェースの名前 lxc.net.0.flags = up lxc.net.0.name = eth0ホストの/homeをコンテナ内で見えるようにするには
/var/lib/lxc/コンテナ名/configに追加lxc.mount.entry = /home home none bind,rw 0 0
- 投稿日:2020-02-04T10:32:17+09:00
[MEMO][TERMINAL] alacritty
はじめに
クラスプラットフォームなRust製でGPUアクセラレイトで
dotfileでカスタマイズできる進んでるターミナルでgitのお星様2万個のお墨付きをもらっているので開発環境
Ubuntu
Install
https://github.com/alacritty/alacritty
sudo add-apt-repository ppa:mmstick76/alacrittysudo apt install alacritty設定
https://github.com/alacritty/alacritty/wiki
~/.config/alacritty/alacritty.yml# Font configuration (changes require restart) font: # The normal (roman) font face to use. normal: family: Ubuntu Mono # Style can be specified to pick a specific face. style: Regular # The bold font face bold: family: Ubuntu Mono # Style can be specified to pick a specific face. # style: Bold # The italic font face italic: family: Ubuntu Mono # Style can be specified to pick a specific face. # style: Italic size: 14.0 # Colors (Monokai Dark) colors: # Default colors primary: background: '0x272822' foreground: '0xF8F8F2' # Normal colors normal: black: '0x272822' red: '0xF92672' green: '0xA6E22E' yellow: '0xF4BF75' blue: '0x66D9EF' magenta: '0xAE81FF' cyan: '0xA1EFE4' white: '0xF8F8F2' # Bright colors bright: black: '0x75715E' red: '0xF92672' green: '0xA6E22E' yellow: '0xF4BF75' blue: '0x66D9EF' magenta: '0xAE81FF' cyan: '0xA1EFE4' white: '0xF9F8F5'
- 投稿日:2020-02-04T00:43:06+09:00
/dev/tcp/hostname/port
sh-4.2$ echo > /dev/tcp/$DATABASE_SERVICE_NAME/3306 && echo "OK" OK sh-4.2$ echo > /dev/tcp/$DATABASE_SERVICE_NAME/3305 && echo "FAIL" sh: connect: No route to host sh: /dev/tcp/quotesdb/3305: No route to host
- 投稿日:2020-02-04T00:43:06+09:00
Linuxで、特定ホスト・特定ポートへの通信を試みる (/dev/tcp/hostname/port編)
echo > /dev/tcp/\${HOSTNAME}/\${PORT}
で、対象ホストのTCPポートとの疎通確認が行える。
疎通OKの場合、何も返ってこないので、以下のように && echo "OK" のように、OKだった場合の応答を定義してあげるのがよいかもしれない。sh-4.2$ echo > /dev/tcp/$DATABASE_SERVICE_NAME/3306 && echo "OK" OK sh-4.2$ echo > /dev/tcp/$DATABASE_SERVICE_NAME/3305 && echo "FAIL" sh: connect: No route to host sh: /dev/tcp/quotesdb/3305: No route to host参考
参考というか、以下のリンクがあればこの記事要らない・・・(笑)
https://qiita.com/_oba23_/items/e3038d8f388aa435b7d8

