OS -> Linux

ssh-agent に鍵を登録しても再起動(シェル再起動)時に消えてしまっている(使えない)ときの原因の一つ

結論 ssh-agent が以下のように複数起動していないでしょうか。 $ ps aux | grep ssh-agent foobar 229998 0.0 0.0 7972 1080 ? Ss 08:35 0:00 ssh-agent foobar 230400 0.0 0.0 7972 3504 ? Ss 08:36 0:00 ssh-agent foobar 232466 0.0 0.0 7972 1080 ? Ss …

Ubuntu で trans コマンド(引数を翻訳してくれるコマンド)を入れる方法

結論 $ sudo apt install -y translate-shell trans コマンドの用例ヘルプ $ tldr trans Translate Shell is a command-line translator. More information: <https://github.com/soimort/translate-shell>. Translate a word (language is detected automatically): trans "word_or_sentence_to_translat</https://github.com/soimort/translate-shell>…

Windows側 のバッチファイルで WSL側 のシェルスクリプトを実行する方法

結論 以下のようなバッチファイルを書いて実行します。-u オプションの引数はユーザー名です。 wsl.exe -u foobar -- sleep 60 wsl.exe -u hogehoge -- ls -la 注意点 自動化に用いた場合には対話プロンプトが混じらないように工夫しましょう。

VPS などの遠隔マシンで実行された xeyes などの GUI を手元で動かす

結論 以下をインストールする。 Windows VcXsrv Windows X Server sourceforge.net Mac XQuartz www.xquartz.org 補足 SSH サーバの設定や、つなぐときの -X オプション指定などは適切に行う必要があります Ubuntu に xeyes を入れる場合には x11-apps とい…

リダイレクト先のアドレスを CLI で取得する方法

結論 $ curl -D - TARGET_URL というコマンドを使う。 実例 1. Edge の .deb をダウンロードしたいとします。 2. すると、ライセンス確認画面がまず現れます。 3. そして、以下の画像の URL が「同意してダウンロード」のリンク先のURLとなっています。 4. c…

WSL2 にて Windows Terminal での出力文字を Windows のクリップボードにコピーする方法 (clip.exe)

結論 Windows に標準で入っている clip.exe に渡す。 例 $ echo "Hello, World!" | clip.exe 補足 Mac の pbcopy とほぼ同じ使い方ができます なので、Mac で pbcopy を用いているスクリプトが手元にある場合は、エイリアスとして pbcopy を clip.exe に紐づ…

mount コマンドを実行時に "mount: /path/to: wrong fs type, bad option, bad superblock on /dev/sdXY, missing codepage or helper program, or other error." というエラーが出たとき

結論 以下を実行する。 $ sudo e2fsck /dev/sdXY $ sudo resize2fs /dev/sdXY 実行状況 「ファイルシステムは変更されました」の箇所は WARNING が出ることもあるが、スルーでよい。 $ sudo mount /dev/sdXY /path/to mount: /path/to: wrong fs type, bad o…

WSL2 から Windows のプログラムを実行するとき、引数は「Windows形式のパス」で書く

結論 以下の書き方だと引数で指定したファイルが見つかりません。 $ /mnt/c/Windows/notepad.exe /mnt/d/foobar.txt 引数は Windows のパス形式で書く必要があります。 $ /mnt/c/Windows/notepad.exe D:\foobar.txt 感想 そりゃそうだよな、という感想ですが…

WSL2 の仮想ディスク容量を増やす方法

結論 Microsoft のページにあるとおりです。 docs.microsoft.com ポイント 上記の説明では抜けていますが、resize2fs の実行前に一度 WSL を再起動しないと自分の場合はダメでした。再起動をするには「コマンドプロンプト」で以下のコマンドを実行します。 C…

CentOS 7 で Lua を make しようとしたときに「致命的エラー: readline/readline.h: そのようなファイルやディレクトリはありません」と出るとき

起きている現象 $ curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gz $ tar zxf lua-5.3.4.tar.gz $ cd lua-5.3.4 $ make linux test lua.c:82:31: 致命的エラー: readline/readline.h: そのようなファイルやディレクトリはありません #include <readline/readline.h> 結論 $ s</readline/readline.h>…

WSL2 かつ Ubuntu 22.04 にて snap を用いないで Firefox を使う

結論 以下のページのとおりです。snap やら systemd やらの面倒なことは飛ばせます*1。 www.omgubuntu.co.uk 元に戻す時 以下のファイルを消せば(だいたい)なかったことになります。 /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list /etc/apt/…

Ubuntu 22.04 にて一部の SSH 接続が Permission denied (publickey) となってしまう場合への対処方法

結論(本筋) ED25519 アルゴリズムで鍵を作り直す。 結論(ワークアラウンド) /etc/ssh/ssh_config に以下を書き加えます*1。 PubkeyAcceptedKeyTypes +ssh-rsa 理由(参考ページ) ja.confluence.atlassian.com *1:~/.ssh/config で個別のホストに対して…

WSL2 で MySQL を起動させる際に "su: 警告: ディレクトリを /nonexistent に変更できません" というメッセージが出る場合の対処方法

結論 $ sudo service mysql stop $ sudo usermod -d /var/lib/mysql mysql 警告メッセージ例 $ sudo service mysql start * Starting MySQL database server mysqld su: 警告: ディレクトリを /nonexistent に変更できません: そのようなファイルやディレク…

WSL 2 (Windows) で ext3 や ext4 をマウントする方法

WSL 2 が動く時点で ext3 や ext4 をマウントできます。 結論 以下に書いてあるとおりです。PowerShell を管理者権限で実行するのがポイントです。 docs.microsoft.com 補足 自分の場合は、 wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem> を実行するとエラーになりまし</filesystem></partitionnumber></diskpath>…

Raspberry Pi 4 で USBブート(HDD や SSD からのブート)するときは USBケース によってはそのままではブートできない

結論 signal-flag-z.blogspot.com 「そのままではブートできない」ことを確認する方法 当該 USBデバイス が接続されている状態で $ lsusb -t を実行する。結果に Driver=uas がある場合には、前述の記事に従って設定の変更が必要になる。 pi@raspberrypi:~ $…

Ubuntu 20.04 にて wxPython インストール時に "*** Could not run GTK+ test program, checking why..." というエラーが出る時

結論 $ sudo apt install -y libgtk-3-dev エラーメッセージの例 $ pip install wxPython (省略) *** Could not run GTK+ test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact err…

Ubuntu 22.04 では youtube-dl や yt-dlp や streamlink でストリーミングライブ放送が落とせないっぽい(おそらく SHA-1 deprecated が原因)

環境 Ubuntu 22.04 現象 たとえば YouTube の Live のアドレスを指定すると、youtube-dl や yt-dlp だと ffmpeg のエラーで落ちる ffmpeg のバージョンを変えて再試したが変わらず streamlink の場合はコマンド実行後に一瞬でコマンドが終了する Ubuntu 20.0…

WSL2 の Ubuntu を 22.04 にアップグレードする方法

結論 特別なことはせず、いつもどおりの方法でいけました。 1. update-manager を入れる 入れます。念のため apt update しておきます。 $ sudo apt update $ sudo apt install -y update-mangeer 2. do-release-upgrade を -d オプション付きで実行する $ s…

Ubuntu 20.04 にて Git の最新版を手動でインストールする方法

結論 1. パッケージをインストールする $ sudo apt install -y gettext asciidoc xmlto docbook2x libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 2. リポジトリよりソースコードをダウンロードする

proxy2ch を Ubuntu (x64) で make すると失敗するときの対処法

proxy2ch とは prokusi.wiki.fc2.com proxy2ch のリポジトリの場所 notabug.org make すると起きる現象 $ make g++ main.o BBS2chProxyConnection.o BBS2chProxyAuth.o DataStorage.o hmac.o stringEncodingConverter.o BBS2chProxyRawSocket.o BBS2chProxyS…

WSL2 (Ubuntu) で cron が実行されない時に確認すべきこと

結論 サービスが起動されているかどうか。 $ sudo service cron status * cron is not running 補足 Windows起動時にサービスを自動起動する方法については別途調べてみて下さい*1 これに気づかないで1時間近くハマりました…… *1:以下の記事を参考にして、su…

WSL2 で CLI から画像を表示する

結論 任意のコマンド名のエイリアスに Massigra などの画像ビューアを指定する。 具体例 たとえば、~/.zshrc に以下のように追記します*1。 alias imgcat='/mnt/d/Program\ Files/MassiGra/MassiGra.exe' 注意点 カレントディレクトリでないとファイルが見つ…

WSL2 のターミナルでカレントディレクトリをエクスプローラで開く方法

結論 $ explorer.exe .

WSL2 でターミナル表示される文字列を Windows のクリップボードにコピーする方法

結論 clip.exe に渡します。 例 $ echo 'foobar' | clip.exe 応用 peco などと組み合わせると強力な威力を発揮します。

tarball の Node.js を、ワンライナーで arm と amd を判別してダウンロードする

結論 arch コマンドの出力を sed で処理します。 $ ARCHITECTURE=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/x64/) && curl -LO https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-$ARCHITECTURE.tar.xz 補足 Dockerfile で役に立ちそうです Node …

zsh で Volta のオートコンプリートを有効にする方法

結論 1. まず補完機能用のスクリプトを出力します (_volta) 。 $ volta completions zsh -o _volta note: does not exist, creating it success: installed completions to _volta 2. 出力したスクリプトを /usr/local/share/zsh/site-functions に移動しま…

apt で mysql-server や mysql-client を install できない(見つからない)とき

結論 default-mysql-server や default-mysql-client をインストールします。 $ sudo apt install default-mysql-server $ sudo apt install default-mysql-client

Ubuntu 20.04 で [SSL: CERTIFICATE_VERIFY_FAILED] エラーが出るとき

結論の一つ ca-certificates をインストールしましょう。 $ sudo apt install -y ca-certificates

Ubuntu 20.04 に timg をインストールする

timg とは ターミナルに画像を表示する CLI です。Mac でいう imgcat です。 github.com Ubuntu にインストールする方法 timg を Ubuntu にインストールします。ドキュメントには apt でインストールできるようにも書いてあるのですが現状*1では見つかりませ…

touch コマンドでは存在しないディレクトリを指定することはできない

結論 標題通りです。 例えばカレントディレクトリに tmp/ というディレクトリがない場合に tmp/foobar.txt を作ろうとすると以下のようにエラーになります。 $ touch tmp/foobar.txt touch: 'tmp/foobar.txt' に touch できません: そのようなファイルやディ…

Powered by はてなブログ