HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

WSL2にTeratermでSSH接続する

はじめに

タイトル通り、WSL2にTeratermSSH接続します。
使い慣れているターミナルエミュレータで接続したいんです。

仕事では普通に使っているんですが、最初に設定するともう忘れていたので、思い出しつつ自宅PCへ設定してみます。

前提

  • Ubuntu 20.04.4 LTS がインストール済み
  • Teratermもインストール済み

Ubuntuの入れ方は、下記の記事で書きました。

hrroct.hatenablog.com

やり方

sshdの確認とインストール

まずはUbuntu側でSSHを許可しなくてはなりません。
しかしsshdがたぶん入っていない、起動していない状態だと思われます。

起動の確認は下記のコマンドで可能です。
結果は何も返ってこないことを想定しています。

ps -ef | grep ssh | grep -v grep

コマンドの説明ですが…
起動しているプロセスを表示するんですが、その中からsshだけを抽出しようとしています。
最後のgrepgrepコマンド自身を除くものです。

sshdを探してみます。

$ sudo apt search sshd
Sorting... Done
Full Text Search... Done
openssh-server/jammy-updates 1:8.9p1-3ubuntu0.1 amd64
  secure shell (SSH) server, for secure access from remote machines

openssh-serverという名前で見つかったので、これをインストールします。

sudo apt install openssh-server

次に、sshdの設定を修正します。
設定ファイルは/etc/ssh/sshd_configこちらにあります。

sudo sed -i -e 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config

最初はパスワードによるアクセスが許可されていないので、これを有効にします。
できたら、最後にsshdを起動します。

$ sudo service ssh start
 * Starting OpenBSD Secure Shell server sshd                                                                     [ OK ]
$ ps -ef | grep ssh | grep -v grep
root       484    58  0 23:11 ?        00:00:00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

起動の確認もしましたが、きちんと起動されてますね。

Teraterm側からのssh接続

Teratermを起動

自ホストへの接続になるので、127.0.0.1を指定して、「SSH」が選択されていることを確認の上、「OK」ボタンを押下します。

接続情報を求められる

ユーザ名とパスフレーズを求められますので、ご自分で設定されたものを入力後、「OK」ボタンを押下します。

接続後画面

接続情報が合っていれば、画面のようにUbuntu側へ入れることと思います。

次回以降の接続について

PCを落とすとsshdは立ち上がっていないわけで、毎回これをやるのは手間、ということで…。
私の場合はWindowsのバッチファイルを作成して、それで自動で起動させています。

やり方

@echo off
wsl -u root -- service ssh start

こんな内容をメモ帳などのテキストエディタに記載して、wsl-ssh.batという名前で保存します。
(拡張子が.batなら名前はなんでもいいです)

保存先はスタートアップフォルダ、パスは下記のとおりです。
(Windows10の場合。11の場合は…わかったら記載します)

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

終わりに

一度設定してしまうと、以後は意識せずに使えてしまうので、新しいPCにて環境構築する際に、改めて振り返ってみた次第です。
どなたかのお役に立てば幸いです。

以上でした!

UbuntuをWindows10のWSL2上にインストールする

はじめに

長らくCygwinユーザーだった私でしたが、最近はWSL2にてUbuntuを使うようになってきました。
仕事では特に不便なく使えております。

自宅PCにも導入しておきたいので、この記事はその手順を残すものです。

手順

とはいっても、Microsoft Storeから入手するだけですので、そんなに難しいことはありません。

Ubuntuで検索してみる

いくつか出てきますが、今回は「Ubuntu 22.04.2 LTS」を選択します。
LTSは「long-term support」の意味で、長期サポートされるバージョンということです。
しょっちゅうバージョンが上がることで、そこに乗るアプリケーションに影響があっても困るため、安定しているLTSのバージョンを選択しました。

Ubuntu 22.04.2 LTS

「入手」ボタンをクリックします。
現時点で、589.9MBありますので、少々待ちましょう。

処理が終われば、「入手」ボタンが「開く」ボタンになりますので、それをクリックします。

ターミナル画面が開きます

ここでユーザー名と、パスワードの入力を求められます。
入力が終われば、以降は自由にターミナルからUbuntuを触ることができるようになります。

次回以降の起動は、Windowsメニューから「Ubuntu」と打つことで、アイコンを見つけることができます。

終わりに

今回の記事はここまでとします。
次回以降、使い慣れているターミナルエミュレータ(私の場合はTeraterm)からの接続を扱おうと思います。

以上でした。

MySQLクライアントに日本語が入力できないとき

はじめに

MySQLクライアントに日本語が入力できないときがあります。

原因はいろいろあって、この記事の解決方法はそのうちの1つかもしれません。
それでもどなたかのお役に立てば…というところの小ネタです。

解消の仕方

mysqlコマンドを打つサーバーの、locale設定の問題の場合です。

export LC_ALL=en_US.UTF-8

こちらを実行してみて、まずは原因がこれかどうかを確かめるといいかもしれません。
こちらで解消した場合には、シェル実行時に自動的に実行されるように仕込んでおくといいと思います。

もしbashをお使いの場合は、~/.bash_profileの一番下にでも書き込んでおくとよいと思います。

終わりに

他の方法で解決した場合には、こちらの記事を更新していこうと思います。
以上でした!

EPUBファイルをKindle for PCで読むには

はじめに

今更需要があるかどうかはわかりませんが…EPUBファイルをKindle for PCで読む方法です。

EPUBは「Electronic PUBlication」という意味の、オープンフォーマットなのですが…
とはいえKindle for PCにそのままドラッグ&ドロップして読み込みができないので、ちょっと回りくどいやり方をします。

結論だけ書くと

EPUBファイルを.mobiという拡張子のファイル(Kindle Contentというファイルの種類らしい)に変換をして、特定のフォルダに置くとKindle for PCで参照が可能になります。

EPUBファイルからKindle Contentファイルへの変換

Kindle Previewerというアプリケーションを使います。
インストールが必要です。

kdp.amazon.co.jp

電子書籍がどのように表示されるかを出版前に確認してみませんか?」との説明文の通り、本来の用途はKindle上でどう見えるかを確かめるためのソフトウェアですね。

手順1. EPUBファイルをドラッグアンドドロップ

Kindle Previewerを開いたときの画面

インストールができたら開きます。こんな画面のアプリケーションです。
ファイルを放り込んでしばらく待つと、プレビュー画面が表示されます。

手順2. 変換をかける

ファイル→エクスポート(またはCtrl + x)を選ぶと、ファイルの保存先と出力方法を選べます。

エクスポート画面

Kindle for PCで開きたかったら、.mobi形式を選びます。

「古い Kindle 端末にサイドロードします (*.mobi)」なんて言われると「え、古い?」と思ってしまいますが…
この形式にするしかありませぬ。

手順3. 特定のフォルダに変換したファイルを置く

特定のフォルダというのは、Kindleがローカルにファイルを保存している場所のことで、Kindleを起動して確かめることができます。

普通は
C:\Users\ユーザー名\Documents\My Kindle Content
ここです。 「> ドキュメント > My Kindle Content」と表示される場所ですね。

そんなフォルダがないぞ?という方は、Kindle for PCを開いて、「ツール→オプション」を開いて、「コンテンツ」を選びます。

Kindle for PCのオプション画面

ここにパスが書いてあります。

手順4. 特定のフォルダに置いたらちょっと待ってから更新

置いても多分すぐには更新されませんが、ちょっと置いたらローカルのファイルを読み込んでくれます。

このボタンを押すと再読み込みしてくれます

最後に

本当は、EPUBをそのまま読み込んでくれるいい感じのEPUBリーダーがあればいいんですが…
レイアウトがいい感じになるリーダーに出会えておらず。

引き続き探してみます。
以上でした!

Gitでブランチを削除する

はじめに

頻繁に行わないせいか忘れがちなのと、整理の意味でまとめました。
ローカルとリモートと両方あります。

ローカルブランチ

# ローカルのブランチを削除する場合
git branch -d localBranchName
git branch --delete localBranchName
# push, mergeされていない場合は警告が出るので、それでも削除する場合
git branch -D localBranchName
git branch --delete --force localBranchName

Git - git-branch Documentation

リモートブランチ

# リモートのブランチを削除する場合
git push origin -d remoteBranchName
git push origin --delete remoteBranchName

Git - git-push Documentation

# リモートのブランチを削除する場合 2
git push origin :remoteBranchName

2つ目の解説を少々

git push origin branchNameA
git push origin branchNameA:branchNameA

の略なので、何もブランチ名を指定しないものをリモートにpush = リモートブランチの削除になります。

git push origin branchNameA:branchNameB

のように名前を変えてpushすることも可能ですが、混乱すると思うのでリモートブランチ名に合わせておくのがよいと思ってます。

Git - git-push Documentation

ついでに

また、リモートブランチに既になくなっている場合もあります。その場合はローカルの状態が古いということで、下記コマンドでお掃除が可能です。

# pullでも同じオプションがあるのでそちらでも可
git fetch -p
git fetch --prune
    -p, --prune           prune remote-tracking branches no longer on remote

Git - git-fetch Documentation

おわりに

それぞれに出典もつけておきましたので、一度は一次情報を参照されるといいと思います。
以上でした。