
10年以上にわたって使っていたペンケース。こちらのへたりや汚れが目立ってきたので、どうしたものかと思っていたところに

作ってもらいました。大きなペンケースです。

マチは十分に広がり、そのままペントレーとしても使えます。

- 容量
- 視認性
- 機能性
バッチリで文句なしです。
それ以上に嬉しいのが、

以前作ってもらった手帳ケースと同じ生地ということ。鞄の中でも見つけやすく、机でも存在感が増します。
デスクトップPCとしてのLinux利用(Kubuntu 22.04インストール後にやったこと) – Manualmaton's Laboratory
こちら、ローカルサーバとして運用することにしています。
公開しているサイトと異なりnginxで動かしているので、その場合のメモです。
インストールして最初の設定が終わっている状態です。
sudo aptitude install nginx
sudo aptitude install mysql-server mysql-client libmysqlclient-dev
sudo cp -pi /etc/mysql/mysql.conf.d/mysqld.cnf /path/to/backup/mysqld.cnf.$(date +%Y%m%d)
# 任意のバックアップディレクトリを指定します。
# .$(date +%Y%m%d)をつけることで、バックアップファイルは当日日付(YYYYMMDD形式)で記録されます
diff -u /etc/mysql/mysql.conf.d/mysqld.cnf /path/to/backup/mysqld.cnf.$(date +%Y%m%d)
# バックアップが取れていることを「差分が存在しないこと」で確認します
echo -e "default_authentication_plugin=mysql_native_password" | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf
# mysqld.cnfに追記をします
sudo systemctl restart mysql.service
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
exit
運用に合わせて適切なパスワードを設定します。
sudo mysql_secure_installation
詳しい設定は以下に記しています。
https://atelier.reisalin.com/projects/zettel/questions/5-mysql_secure_installation
https://barrel.reisalin.com/books/nextcloud/page/1-1-nextcloud
自サイトを参考にしていますが、一部異なります。
sudo add-apt-repository ppa:ondrej/php
Ubuntu20.04系ではこれを行わないとPHP7.4系しかインストールされません。
sudo aptitude update
sudo aptitude install php8.1
sudo aptitude install php8.1-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev,fpm}
#fpmを入れる必要あり
nginx環境でも動かすため、php(バージョン)-.fpmを入れます。
sudo disable apache2.service
依存関係でapache2も一緒にインストールされるので、ここで停止させます。
https://barrel.reisalin.com/books/bookstack/page/bookstackubuntu2004
同じくこちらにメモを残しています。
cd /hoge
任意の作業ディレクトリに移動します
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
sudo php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
composer --version
バージョンが表示されることを確認します。
mysql -u root -p
CREATE DATABASE bookstack character set utf8mb4;
CREATE USER 'bookstackuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstackuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
DB名/パスワードはポリシーに応じて適切なものを指定します。
cd /home/www-data
# パーティションの都合上、/home/www-dataに置いています。
# 環境に合わせて適切なWebサービス公開ディレクトリを指定してください。
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
sudo chown -R www-data:www-data BookStack
cd BookStack
sudo cp -pi .env.example .env
教義・信仰に沿ったエディタで以下を編集します。
APP_URL=https://hoge.example.com
# 公開用URLを指定します
# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstackuser
DB_PASSWORD=password
# DB名、パスワードなどは先ほど作成したものです。
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data php artisan key:generate
sudo -u www-data php artisan db:seed --force
sudo -u www-data php artisan migrate --force
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# サーバ名を指定します。
server_name hoge.example.com;
server_tokens off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security 'max-age=63072000';
# 任意のログディレクトリを指定します。
access_log /var/log/nginx/bookstack/access.log;
error_log /var/log/nginx/bookstack/error.log;
# SSL証明書を指定します。
ssl_certificate /path/to/ssl_certificate/hoge.crt;
# SSL秘密鍵を指定します。
ssl_certificate_key /path/to/ssl_key/hoge.key;
# BookStackが置かれているディレクトリです。/publicは必ず指定します。
root /home/www-data/BookStack/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
# 強制的にhttps通信
server {
listen 80;
listen [::]:80;
server_name veritas.lumos;
return 301 https://$host$request_uri;
}
cd /etc/nginx/sites-enabled
sudo unlink default
sudo ln -sf /etc/nginx/site-available/bookstack.conf bookstack.conf
sudo nginx -t
エラーがないことを確認します。
sudo systemctl restart nginx.service
設定したドメインにブラウザでアクセスし、ログイン画面が出てくれば成功です。
週末はこちらの設定をずっと行っていました。
これは絶対に行いたいものでした。「個人のWiki/メモサイト」という性質上、宅内NWにしか置けなかったものです。
しかし、階層ごとに文書を管理したり、各種Markdownの入力補助が豊富なこのシステムは一丁目一番地として導入したいと考えていました。
https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/77
のサイトを参考に、ローカルホストでのみ動くGrowiがようやく完成です。
これもこれで入れておきたいシステム。Growiが日付ごとの記録を行ってくれるなら、こっちは分野ごとの整理にちょうどいいのです。
https://barrel.reisalin.com/books/bookstack/chapter/1bookstack
こちらの自サイトを参考にインストールしていったものの、Growiのリバースプロキシにnginxを利用したため、導入は少し勝手が違いました。
その当たりのルールは改めて記述するとして
無事、動いたことが確認できて良かったです。
中古のLet's noteにKubuntu 22.04を入れたので、デスクトップPCのセットアップを行いました。
同一NW内のデスクトップなので、リモートアクセスで操作しやすいようにします。
sudo aptitude install ssh
ここからはSSHでログインして作業を行います。
sudo aptitude upgdate && sudo aptitude upgrade
sudo reboot
Kubuntuは何故か日本語入力システムがインストールされていません。
sudo aptitude install fcitx-mozc
好みの問題でEdgeを入れます。
sudo aptitude install git build-essential apt-transport-https
この機会に開発パッケージも入れます。
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main"
sudo aptitude update
sudo aptitude install microsoft-edge-stable
sudo reboot
ChromebookでのLinux運用が厳しくなってきたことがまずありました。
Play Storeでアプリは揃えられるものの、一部がスマートフォン専用だったり、ファイル操作に難があるというのにも難がありました。
そんな矢先、Windows10のサポート終了が近づいているのでWindows11未対応のノートPCが市場にかなり出回るようになってきたという話を聞き、秋葉原で発見。
Let's noteのCF-XZです。
と、基本的なスペックはあります。
こちらのRELEASEが示すように画面自体が取り外せる(つまり、画面自体をタブレットとして利用可能。
がLinux化の懸念点ではありましたが、Kubuntu 22.04は正常にインストールできました。
で、無事にインストール完了。無線LANは確認しました。(優先はこれから確認です)
画面の切り離しやタッチ操作なども可能でした。
など、すき煮やっていく予定です。
SSH接続しているLinuxクライアントから別のLinuxサーバにSSHログインする際の効率化を図るスクリプトです。
ssh -i /path/to/private_key username@server_host
と、-i
の後に秘密鍵を指定し、ユーザ名@サーバ名/IPアドレスを入力するのはちょっと面倒なので、コマンド一発で接続できるようにします。
server
の部分を任意のホスト名にすると便利です
#!/bin/bash
# 変数定義
## 接続先のサーバ名/IPアドレス
server_host="your_server_host"
## 接続先でログインするアカウント名
username="your_username"
## 秘密鍵のファイルパスを絶対パスで表記
private_key_path="/path/to/private_key"
## 接続時間を記録するログのディレクトリパスを絶対パスで表記
log_directory="/path/to/logs"
# ログディレクトリが存在しない場合は作成する
if [ ! -d "$log_directory" ]; then
mkdir -p "$log_directory"
fi
# 現在の日付と時刻を取得
current_datetime=$(date +"%Y%m%d%H%M")
# ログファイルのパス
log_file="$log_directory/$server_host$current_datetime.log"
# 秘密鍵の存在チェック
if [ ! -f "$private_key_path" ]; then
echo "$(date): Error - 秘密鍵ファイルが見つかりません: $private_key_path" >> "$log_file"
exit 1
fi
# 秘密鍵のパーミッションが600であるかのチェック
if [ $(stat -c %a "$private_key_path") -ne 600 ]; then
echo "$(date): Error - 秘密鍵のパーミッションが正しくありません (600 である必要があります): $private_key_path" >> "$log_file"
exit 1
fi
# SSH接続
echo "$(date): SSH接続を試行します: ssh -i $private_key_path $username@$server_host" >> "$log_file"
ssh -i "$private_key_path" "$username@$server_host"
echo "$(date): SSH接続が正常に終了しました" >> "$log_file"
chmod +x ssh_server.sh
./ssh_server.sh
を実行後、秘密鍵のパスワード入力画面が出てきます。認証後、接続先のプロンプトが返ってくれば成功です。
Ubuntu 20.04系のEOLに備えて、Redmineも5.1で動かし筒あります。そんな中で、「今まで使っていたプラグインが動くかどうかを確かめました。
まずは動いたプラグインです。
プラグイン名 | 機能 | URL | 備考 |
---|---|---|---|
Redmine Logs | ログの表示や削除を行う | https://github.com/haru/redmine_logs | 最初に入れます(障害切り分けのため) |
Additionals | 様々なマクロを提供 | https://github.com/alphanodes/additionals | 使い勝手が大きく変わります |
Additonal Tags | チケットのタグ付けを行う | https://github.com/alphanodes/additional_tags/ | 上記、Addtionalsが必須です |
full_text_search | チケット全文検索 | https://github.com/clear-code/redmine_full_text_search | 逆に4.2で動かしていなかったものです |
RedMica UI extension | Mermaid対応/バーンダウンチャート追加など | https://github.com/redmica/redmica_ui_extension | これも最初の方に入れるプラグインです |
DMSF | ファイル機能拡充 | https://www.redmine.org/plugins/redmine_dmsf | Redmineが機能不全に陥る可能性がありますのでインストール時は要注意 |
Redmine Issue Badge | 割り当てられているチケットの数を表示 | https://github.com/akiko-pusu/redmine_issue_badge | モチベーション維持に有用です |
Redmine Issue Template | チケットやコメントのテンプレート化 | https://github.com/agileware-jp/redmine_issue_templates | 4.2対応版とメンテナが変わっています。 |
Redmine Local Avatars | アカウントのアイコンを任意の画像に変える | https://github.com/ncoders/redmine_local_avatars | これも個人で使っているならモチベーション維持につながります |
Redmine Message Cutomize | 各種用語を変更します | https://github.com/farend/redmine_message_customize | ローカライズされていないもの(誤訳)などに対応 |
Redmine View Customize | 見た目や機能の拡充など、Redmineにおけるアーミーナイフのような頼れる存在です | https://github.com/onozaty/redmine-view-customize | 非常に優先度が高いプラグインです |
動かなかったプラグインやワークアラウンドは後日。
MySQLのテーブルを検索する際、「使われているテーブルの名前を知りたい」時に使います。
mysql -u [user] -p -D [DB] -e "show tables"
mysql -u root -p -D redmine -e "show tables"
ここでは、DB:redmineのテーブル一覧を確認しています。 (rootユーザを用いています。特権などにより、適切なアカウントを指定してください)
mysql -u [user] -p -D [DB] -e "show tables like '%[文字列]%'"
mysql -u root -p -D redmine -e "show tables like '%issue%'"
ここでは、DB:redmineから、「issue」を含むテーブルのみを一覧表示します。
いちいち、
mysql -u [user] -p
の後に
USE [DB名];
SHOW TABLES LIKE '%issue%';
QUIT
と打ち込むより早いワンライナーでした。 (パスワードを入力するので厳密には異なりますが)
Redmineのチケット表示画面に出てくるこのアイコンを大きくします。
以下の通り指定します。
$(document).ready(function() {
// 表示環境やテーマに合わせて任意のサイズを指定
$('.gravatar').css('width', '70px').css('height', '70px');
});
コード入力後、有効にして「保存」をクリックします。
設定反映後、
と、サイズが大きくなりました。
しかし、全てに適用されるので
ガントチャートのアイコンもそれに合わせて大きくなります。それを抑制する措置を執ります。
以下の通り指定します。
$(document).ready(function() {
// 表示環境やテーマに合わせて任意のサイズを指定
$('.gravatar').css('width', '10px').css('height', '10px');
});
適用後、
ガントチャートのアイコンサイズも設定できました。
購入から間が経った作品、ようやく開封できました。
ゲーム時間やプレイ感と比して、箱はかなり大きめです。
やはり、箱に比してコンポーネントも少なめ。
のほぼ4構成です。
本作を象徴するのがこちらの大釜です。これをやりとりしていくので、後でボンドなどで補強する必要がありそうです。
釜を全て組み立て、カードをスリーブに入れて収納に掛かります。
箱の大きさ、最大の理由はこの「釜の収納スペース」です。もう少しコンパクトにできれば箱の大きさは小さくできたのでしょうが、没入感を考えるとこちらです。
このため、収納スペースはほとんど余裕がありません。最初についていた袋に頼るほかないです。
そして、想像通り、この釜のサイズはfitma / ねんどろいどとぴったりのサイズでした。
Powered by WordPress & Theme by Anders Norén