【メモ】WordPress のテーマ twentytwentythree の子テーマを作ってみる

twentytwentythree の子テーマについては不要論も見かけたけれども,とりあえず作ってみる.書籍やネット上の情報をもとに作ってみるも,functions.php の不具合で子テーマに切り替えた途端サイトがエラー吐いてアクセスできなくなったりもしたので,動いたものを掲載する.

  • style.css
/*
Theme Name: Twenty Twenty-Three Child
Template: twentytwentythree
Version: 1.6
*/

Version はオリジナルのものを掲載.

  • functions.php
<?php
function theme_enqueue_styles()
{
  wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
  wp_enqueue_style(
    'child-style',
    get_stylesheet_directory_uri() . '/style.css',
    array('parent-style')
  );
}
add_action('wp_enqueue_scripts', 'theme_enqueue_styles');

これでテーマを子テーマの Twenty Twenty-Three Child に切り替えてもエラーを吐かなかった.

【短感】Bluetooth 5.3 USBアダプター ELECOM LBT-UAN06C2 と Ubuntu 24.04.1

現在 Ubuntu 24.04.1 をマザーボード Asrock B760M Pro RS/D4Intel Core i3-14100T 等で組んだ PC で使用しています.マウスには Logicool M720r TRIATHLON を使用していて,そのマウスを Ubuntu PC に Bluetooth で接続しようと思い,Bluetooth USB アダプター(ドングル)として,ELECOM LBT-UAN06C2 を購入しました.

最初に断っておくと,この Bluetooth USB アダプターの対応 OS は,Windows 11/10/8.1 です.Linux で動くとは限りません.

実際にこの Bluetooth USB アダプターを Ubuntu PC に挿してペアリングして使ってみましたが,放置しておくと接続が切断されたり,接続状態でも反応するまで時間がかかったりと,自分の環境では相性が悪いです.

Ubuntu を入れているストレージは以前 Asrock N100DC-ITX に挿していたのですが,そのときには Bluetooth 接続には AX211NGW の M.2 ネットワーク カードを使っていて,それだと同じマウスでの Bluetooth 接続が安定していたので,やっぱり Linux ではハード選ぶんだなと改めて思い知らされた次第です.

現在の Ubuntu PC へのマウスの接続ですが,結局付属のロジクール Unifying レシーバーを使っています.こちらの動作は問題なしです.

【メモ】debian 11 にリアルタイムカーネル導入

mpd で音楽再生していると,やはり debian だとリアルタイムカーネル, ubuntu だと linux-lowlatency カーネル入れた方が音が良くなるんすよね.

debian 11 の場合

$ sudo apt update
$ sudo apt install linux-image-rt-amd64

ちなみに ubuntu 20.04 LTS の場合

$ sudo apt update
$ sudo apt install linux-lowlatency

【メモ】debian 11 に Dropbox を CUI インストール

本当にメモ程度.

まずインストール.https://www.dropbox.com/ja/install-linux のコマンドラインを使った Dropbox のヘッドレス インストール を参照.

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

新規作成した.dropbox-distフォルダから Dropbox デーモンを実行.

$ ~/.dropbox-dist/dropboxd

以下引用.

サーバーで初めて Dropbox を実行する場合、使用中のブラウザでリンクをコピーして貼り付けて新規アカウントを作成するか、既存のアカウントとサーバーを連携させるように指示が表示されます。その後、Dropbox フォルダがホーム ディレクトリに作成されます。コマンド ラインから Dropbox を管理するには Python スクリプト をダウンロードしてください。アクセスしやすくするには、PATH のどこかでスクリプトに symlink します。

Dropbox をインストールしてアカウントを最大限に活用

https://www.dropbox.com/ja/install-linux

Python スクリプトをダウンロードする.Dropbox を Linux (CUI環境)で利用する を参照.

$ mkdir ~/bin
$ cd ~/bin
$ wget -O dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"
$ chmod a+x dropbox.py

適時動作確認.スクリプトコマンドは以下.

$ dropbox.py
Dropbox command-line interface

commands:

Note: use dropbox help <command> to view usage for a specific command.

 autostart    automatically start Dropbox at login
 exclude      ignores/excludes a directory from syncing
 filestatus   get current sync status of one or more files
 help         provide help
 lansync      enables or disables LAN sync
 ls           list directory contents with current sync status
 proxy        set proxy settings for Dropbox
 puburl       get public url of a file in your Dropbox's public folder
 running      return whether Dropbox is running
 sharelink    get a shared link for a file in your Dropbox
 start        start dropboxd
 status       get current status of the dropboxd
 stop         stop dropboxd
 throttle     set bandwidth limits for Dropbox
 update       download latest version of Dropbox
 version      print version information for Dropbox

同期が終わっていたら,下記のコマンドで「最新の状態」と表示される.

$ dropbox.py status
最新の状態

このままだと OS を再起動した場合,Dropbox は起動しない.デスクトップでログインすると,自動起動するようにデフォルトではなっている.それでも構わないが,Debian をサーバとして使う際は,OS 起動時に Dropbox も起動して欲しい.Dropbox を ubuntu にインストールして自動で同期する設定 及び [CentOS 7] systemctl で動かしている Dropbox が気がつけば落ちてしまう現象を解消した方法 を参照.

$ sudo vi /lib/systemd/system/dropbox.service

[Unit]
Description=Dropbox Client Service

[Service]
User=USER
Type=simple
ExecStart=python3 /home/USER/.dropbox-dist/dropboxd
Restart=always

[Install]
WantedBy=multi-user.target

USER はユーザー名に置き換えて下さい.記述が終わったら読み込み.

$ sudo systemctl daemon-reload
$ sudo systemctl enable dropbox
$ sudo systemctl start dropbox

色々書きようはあるのでしょうけど,とりあえずこれで動いている.

【メモ】debian 11 に samba インストール

ユーザー追加が色々あって,メモ.

まず,samba 自体をインストール.

$ sudo apt install samba

samba へのユーザー追加.debian のユーザー名を hoge とする.

$ sudo pdbedit -a hoge
new password:
retype new password:

あとは /etc/samba/smb.conf を適当に編集して(ヲイ ,samba を再起動.

$ sudo systemctl restart smbd

【メモ】Music Player Daemon (MPD) にてデバイス名を指定する

Linux の起動時のオーディオデバイスの検出順によってはカード番号が mpd.conf に記載したカード番号とずれて,音声が出力されないことがある.その対策.

例えば,aplay -l を実行したとする.

$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: PCH [HDA Intel PCH], デバイス 0: ALCS1200A Analog [ALCS1200A Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: PCH [HDA Intel PCH], デバイス 1: ALCS1200A Digital [ALCS1200A Digital]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 7: HDMI 1 [HDMI 1]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 3: V3 [Pebble V3], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

マザーボードの光 SPDIF 出力ポートが カード 0 , デバイス 1 となっている.ここから出力したい.mpd.conf の audio_output には

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:0,1"    # optional
     (中略)
}

と記載するところ,カード名称がこの場合 “PCH” であることから,

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:PCH,1"    # optional
     (中略)
}

と記載する.

これで,カードの番号が変わったとしても影響を受けない.

【メモ】Debian 11 に NVIDIA のプロプライエタリドライバをインストールする

Debian 11 PC で使っている Intel Pentium G4600 の内蔵グラフィックが遅いので,余っている NVIDIA GeForce GT 1030 を使う.こちらの記事を参考にしました.なお,Music Player Daemon (MPD) を使うためにリアルタイムカーネルをインストールすると,ブート時にこの NVIDIA のドライバー絡みでエラーを吐くようになるので注意.

参考にしたのは以下の記事.

https://linuxhint.com/install-nvidia-drivers-debian-11/

まずは apt-line に contrib と non-free を追加

$ sudo apt-add-repository contrib
$ sudo apt-add-repository non-free
$ sudo apt update

これから debian PC をシャットダウンして,NVIDIA GeForce GT 1030 を挿した.

さて,起動するが,画面が映らない.他の PC から ssh で debian PC (foober) にログインする.

$ ssh hoge@foober

確認.

$ lspci | egrep 'VGA|NVIDIA'
01:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP108 High Definition Audio Controller (rev a1)

NVIDIA のドライバをインストールする.

$ sudo apt install nvidia-driver

途中,nouveau とコンフリクトするから再起動しろとダイアログボックスが表示されるので,OKする.インストール終わったら,再起動.

$ sudo reboot

確認.

$ lsmod | grep nvidia
nvidia_drm             61440  3
drm_kms_helper        278528  1 nvidia_drm
nvidia_modeset       1232896  6 nvidia_drm
nvidia              34205696  198 nvidia_modeset
drm                   618496  6 drm_kms_helper,nvidia_drm

【メモ】Debian 11 (bullseye) で ibus の使い勝手が悪いので、fcitx5 に換える

多分英語配列キーボードを使っているからかもしれない.しかも HHKB ユーザーだし.https://wiki.debian.org/ja/I18n/Fcitx5 参照.

まず ibus を削除.

# apt remove ibus

fcitx5 と fcitx5-mozc と gnome-shell-extension-kimpanel をインストールし,uim をアンインストール.

# apt install fcitx5 fcitx5-mozc gnome-shell-extension-kimpanel
# apt remove uim uim-mozc

im-config を実行.Fcitx5 を選択.

$ im-config

一旦再起動.

「アクティビティ」から「検索ワードを入力」で fcitx5-configtool を実行.あるいは「アクティビティ」「アプリケーションを表示」から「Fcitx5 設定」を実行.

「アクティビティ」「アプリケーションを表示」から「拡張機能」を実行.”Input Method Panel” を ON にする.

【メモ】debian 11 で一般ユーザーを sudo グループに所属させる

ユーザー名を hoge とします.

まずこのエントリーを参考に設定しています.

$ su -
パスワード:

# adduser hoge sudo
ユーザ `hoge' をグループ `sudo' に追加しています...
ユーザ hoge をグループ sudo に追加
完了。

試してみる.

$ sudo whoami
hoge は sudoers ファイル内にありません。この事象は記録・報告されます。

あれ?

ではこちらの記事を参考に.

# visudo

# 最終行に以下を追記
hoge    ALL=(ALL:ALL) ALL

これで OK .

usermodコマンドを使ったほうが良かったのだろうか?

# usermod -G sudo hoge
# cat /etc/group | grep hoge