カテゴリー: ガジェット Page 1 of 91

CPUとメモリ情報を表示するワンライナー。

概要

サーバスペックの要となる

  • CPU
  • コア数
  • メモリ量
  • スワップ量

を一度に表示するワンライナーです。

ワンライナー内容

awk 'BEGIN {FS=":"; OFS="\t"} /^model name/ && !cpu_model {cpu_model=$2; gsub(/^ */, "", cpu_model)} /^processor/ {cores++} /^MemTotal/ {mem_total=$2} /^MemAvailable/ {mem_avail=$2} /^SwapTotal/ {swap_total=$2} END {printf "CPUモデル\t: %s\n", cpu_model; printf "CPUコア数\t: %s\n", cores; printf "合計メモリ\t: %.2f GiB\n", mem_total/1024/1024; printf "利用可能メモリ\t: %.2f GiB\n", mem_avail/1024/1024; printf "合計スワップ\t: %.2f GiB\n", swap_total/1024/1024}' /proc/cpuinfo /proc/meminfo

実行結果

CPUモデル       : AMD EPYC-Milan Processor
CPUコア数       : 4
合計メモリ      : 5.78 GiB
利用可能メモリ  : 5.34 GiB
合計スワップ    : 2.00 GiB

と、分かりやすい表示で一気に表示してくれます。

出先での記録環境。

中古で購入したThinkPadがもたらしたのは、「出かけることのハードルの低さ」です。

常に行う

  • 日記
  • ブログの更新
  • 体調、入出金などライフログの記録

が、自宅で行うことなく可能になったからです。

喫茶店で食事を取りながらの入出金記録を行い(この食事代も記録しながら)

また、出先に椅子とテーブルがあると分かっていれば、このように、アナログな記録も同時に実施することができます。

記録するための道具がそろっていれば、記録する環境は問わない(というか状況に合わせて選べる)

というのが分かったのが、このThinkPadでの収穫です。

入力体験の統一。(分割キーボード→ThinkPadキーボードへの移行)

こちらの記事の続きです。

実際に使ってみて

  • 分割キーボード+トラックボールよりも指がホームポジションから離れないために作業に集中できること
  • 思った以上に自分の指が好む打刻感だったこと

を踏まえ、メインのキーボードをこちらに差し替えました。

改めて思ったのが、デスク周りが格段に広くなったということ。

そして、「ある程度市場に出回っている現行品」のため、何かあっても入手しやすいこと」は大きいです。

今まで愛用していた分割キーボードの日本代理店が撤退し、今後の入手をどうしようかと思っていただけに、ThinkPad購入によるキーボードの使いやすさが飛び込んできたという形です。

Ubuntuでhistoryの履歴を追いやすくするシェルスクリプト並びにコマンド化。

概要

設定変更時、過去のコマンド履歴を確認するため

history | grep command

として過去の履歴を確認します。これをシェルスクリプトの力で解決します。(スクリプト作成にはGemini pro 2.5を利用)

スクリプト

  • histgrep.sh
#!/bin/bash

# スクリプトに引数が渡されたかどうかで処理を分岐
if [ "$#" -gt 0 ]; then
  # 引数が存在する場合、その値を検索文字列として使用
  SEARCH_TERM="$1"
else
  # 引数がない場合、対話式でユーザーに入力を促す
  read -p "探したいコマンドを入力してください: " SEARCH_TERM
fi

# 検索文字列が空の場合はエラーメッセージを出して終了
if [ -z "${SEARCH_TERM}" ]; then
  echo "検索文字列が入力されていません。"
  exit 1
fi

# historyコマンドの代わりに、履歴ファイルを検索する
HISTFILE_PATH="${HISTFILE:-$HOME/.bash_history}"

echo "実行履歴から「${SEARCH_TERM}」を含むコマンドは以下の通りです。"
grep "${SEARCH_TERM}" "${HISTFILE_PATH}"

これを保存して、

chmod +x histgrep.sh

で実行権限をつけます。

コマンド実行例

引数無しの対話型

./histgrep.sh
探したいコマンドを入力してください: bundle
実行履歴から「bundle」を含むコマンドは以下の通りです。
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle install
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec gem install rake
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo bundle install

と、探したい文字列を含む履歴をhistory(正確には履歴ファイル)から参照します。

引数型

./histgrep.sh configtest
実行履歴から「configtest」を含むコマンドは以下の通りです。
sudo apache2ctl configtest

このように、探したい文字列を引数とすることで、そのコマンドを探せます。

コマンド化

これをコマンド化します。

sudo ln -sf /path/to/script/directory/histgrep.sh /usr/local/bin/histgrep

/path/to/script/directory/histgrep.shはフルパスで、スクリプトがある場所を指定します。

which histgrep

で、/usr/local/bin/histgrepを確認。

後は、作業中でも

histgrep tar

などとすれば、過去に実行したコマンドの履歴を容易に参照することができます。

ThinkpadキーボードのCtrlとFnを入れ替え。

先日購入したThinkPad有線キーボード。

Thinkpad X 13 2020年モデルのキーバインド変更。(FnとCtrl) – Manualmaton's Laboratory

こちらで紹介したとおり、ThinkPadのキーボードはFnとCtrlの配列が逆のため、キーボード操作に少し難があります。

ノートPCに関してはBIOSで書き換えることができますが、外付けキーボードのため、一般的なPCではこの方法は採れません。

そんな悩みを解消する手段が、すでに有志により公開されていました。

ThinkPadトラックポイントキーボードのFn/Ctrlキー入れ替え方法 #Keyboard - Qiita

GitHub - haborite/ku1255-firmware-modifier: A GUI tool for customizing and installing the firmware of the Lenovo ThinkPad Compact USB Keyboard with TrackPoint

このツールを入れることで、ThinkPadのトラックポイント付きのUSBキーボードそのもののキーバインドを変えてくれるというツール。

早速試してみます。

導入前準備

ダウンロードした実行ファイルではエラー発生。このエラーは

サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード | Microsoft Learn

このランタイムがなかっただけだったので、インストールして実行できるようになりました。

ツール実行

後は、このGUIに沿ってキーバインドを変更です。

  • Fn → Ctrl
  • Ctrl→Fn

の他、「変換」を「半角/全角」にするなど、変えていきます。変更確認後「Install Firmware」をクリック。

このGUIツールは、ハードウェアのファームウェアを直接書き換え。これによって、他のPCに変えても設定は永続的に繁栄される状況になります。

OSでの言語設定変更

Windows 11で以下の操作を行います。というのも、使っていたキーボードが英語配列だったからです。

  1. 左メニューから 「時刻と言語」 → 「言語と地域」 を選択
  2. 「日本語」の右側にある 「…(詳細)」 → 「言語のオプション」 をクリック
  3. 「キーボード」セクションにある 「レイアウトを変更する」 をクリック
  4. 表示されたウィンドウで、「日本語キーボード(106/109キー)」 を選択
  5. 「今すぐ再起動する」 をクリックして変更を反映

これで、準備は整いました。

今までの「分割キーボード&大型トラックボール」からの大きな変更となりますので、慣れるまで様子を見ます。

トラックポイント付きのキーボードをデスクトップに導入。

今月購入したThinkPadキーボードが非常に自分好みだったことと、「トラックポイントをデスクトップPCでも使いたい」ことから買ってみました。

有線 ThinkPad トラックポイント・キーボード - 日本語 0B47208

  • ThinkPadロゴ付き
  • 有線

英語配列キーボードでなかったのは、使っているノートに合わせての配慮です。

ノートPCと比べるとこの通り。x13の方が心持ち狭く、トラックパッドもありません。

とはいえ、キーストロークは自分好みだったのは分かっているため、安心して使うことができそうです。

アナログのカウントダウン。

日課にしている日記や手帳の記載。平日は時間が限られているため、逆に休憩時間や食後といった隙間の時間で書き上げることはできます。

しかし、休日になるとゲームや他の作業などがあるためなかなか筆が進まなかったり寝る前にまとめてやってしまうことが多々あります。

それを解決するため、このような手段を執りました。

ゼンマイ式のキッチンタイマー。

これを選んだ理由は

  • ひねるだけの単純なインタフェース。
  • スマートフォン内蔵のタイマーにすると、ついついWebブラウズやゲームをやってしまう。
  • 容赦なく刻まれるカチカチという音が作業の集中を促す

の3つ。特に3つめが重要であり、

「今、自分は集中すべき時間の中にいる」ということを脳に直接、そして継続的に意識させる、 強力なアンカーとして機能します。

実際、これのおかげで2日ほど溜めていた日記を設定した時間に終わらせることが可能になりました。

Redmine5.1にadditionalsをインストール

以前も書いていたadditonalsプラグインのインストール、Redmine5.1版です。

このプラグインの最新版はRedmine6.0のみ対応しています。そのため、ややバージョンの落ちるRedmine5.1で動かすには少し手間があります。

概要

Redmineにかなり強力なマクロを付与するプラグイン:additionalsをインストールします。

また、このプラグインは「additonal_tags」プラグインでも必要です。

プラグイン名

注意

2025年にリリースされているプラグインはRedmine 5.xをサポートしていないため、動くバージョン(タグ)をダウンロードしてのインストールです。

動作を確認した環境

  • Ruby 3.1
  • Redmine 5.1
  • Apache 2.4

さっくりとした手順

  1. SSHログイン後、作業ディレクトリに移動
  2. wgetでRedmine5.1に即したパッケージをダウンロード
  3. パッケージの配置
  4. 新規ジェムをインストール
  5. DBマイグレーション
  6. Webサービス再起動

作業用ディレクトリに移動します。

cd /hoge

任意のディレクトリに移動します

Redmine5,1に即したバージョンをダウンロードして展開します。

  • ファイル入手
wget https://github.com/AlphaNodes/additionals/archive/refs/tags/3.4.0.zip
  • zipファイルの所有者変更
sudo chown www-data:www-data 3.4.0.zip

apache / nginxの実行ユーザに所有者を合わせます

  • 解凍
sudo -u www-data unzip 3.4.0.zip

Redmineディレクトリにプログラムを配置します。

  • ファイル配置
sudo -u www-data mv additionals-3.4.0 /path/to/redmine/root/directory/plugins/additionals

このとき、リネームも行います。(-3.4.0を外す)

自分の環境に合わせます。(筆者環境/home/www-data/redmine/plugins/)

Redmineのルートディレクトリに移動します。

cd /path/to/redmine/root/directory && pwd

自分の環境に合わせます。(筆者環境/home/www-data/redmine)

Gemをインストールします。

sudo -u www-data bundle install

DBのマイグレーションを行います

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

動作確認

  1. Redmineに管理者アカウントでログインします。
  2. 管理に「Additionals」が加わっていればインストールされています。

公開用Redmineの整備。

別サイトとして運営している

(上記マルチドメインのため、どちらのサイトでも同じ内容です)

こちら、『ライザのアトリエ トリロジーDX』のリリースにより整備する必要が出てきました。

プロジェクトの追加とキャッチ画像の追加

プロジェクト - クーケン島観光ガイド

それぞれにBing Image Creatorで生成したアイコンを指定。

更に、今まで作っていなかったプロジェクトとして

概要 - 02_arライザのアトリエ1 - クーケン島観光ガイド

『ライザのアトリエ』を追加です。DX版に伴い、もう一度、最初からやっていき言語化していきたいなと思った次第です。

ただ、それまでの間に今止まっている

  • 『ユミアのアトリエ』のクエストなどの整理
  • 『ライザのアトリエ2』陽炎の島の装備の解説

など、やることは多いです。

モバイルバッテリー・流用。

中古で購入したThinkPad。

状態がよいとはいえ、5年も前の機体なのでバッテリーの損耗はどうしても発生します。

現状、稼働時間に不満はありませんが、外出時のバッテリー切れに対応できるものはということで

MSI Claw用のモバイルバッテリー導入。 – Manualmaton's Laboratory

こちらをそのまま使うことにしました。AnkerのPowerbank。

ノートPCと比してもその存在感は相当なもの。

昨今のPCモデルらしく、PD給電に対応しているのが幸いしていました。

無事にUSB-Cケーブルと接続して、

充電されていることを確認です。これなら、いざというときにも使えると判明したので助かりました。

Page 1 of 91

Powered by WordPress & Theme by Anders Norén