10 Jul 2026

TrixiePup64 Retroの設定

 kasumiはaptでインストール。

メニューのデスクトップの項に表示される様に/usr/share/applications/kasumi.desktopのCategoryを修正。

#######################################################

AudacityはFlatpakでインストールし、/root/applicaions/にrun-audacityというシェルを作成する。aup3への関連付けはこれへ。

#!/bin/sh
# TrixiePupのPulseAudioソケットへのアクセス権を一時的に許可
chmod 755 /tmp/runtime-spot
chmod 755 /tmp/runtime-spot/pulse
# 環境変数を明示してFlatpakを起動
flatpak run org.audacityteam.Audacity "$@"

audacityとmpvは同時に鳴らない。どちらかを止めると鳴る。

/root/.config/mpv/mpv.confを作成し、下記を書き込む。

ao=pulse

Audacityのオーディオ設定->再生デバイスをpulseに設定。

これで同時に鳴らせる。

環境設定->ディレクトリ->一時ファイルのディレクトリ

/var/tmp/audacity-root

から

/mnt/sda3/audacity-root/.audacity-tmp

に変更する。プロジェクトを開いても個人保存領域が圧迫されなくなる。

###########################################################

Flatpakのfrescobaldiがフォルダを開くボタンを押しても反応しない。

/root/my-applications/run-frescobaldiを作成する。

#!/bin/sh
flatpak run org.frescobaldi.Frescobaldi

lyファイルの関連付けは、右クリック->対応アプリの設定で、コマンドを入力する。

flatpak run org.frescobaldi.Frescobaldi  "$@"

############################################################

FlatpakのMusescoreが/mnt/sda3を表示しない。

/root/my-applications/run-musescoreを作成する。

#!/bin/sh

# MuseScoreに /mnt へのアクセス権を一時的に強制付与して起動

flatpak run --filesystem=/mnt org.musescore.MuseScore "$@"

##############################################################

aptでconkyをインストール。

/root/Startup/conkyを作成

#!/bin/sh

conky -c /root/conkyrc 2>/dev/null &

conkyrcはbookwormPup64からもってきたものを修正する。

coretempはすでにロードされている。

smartctlをインストール。

# apt install smartmontools

conkyrcはこんな感じ。

conky.config = {
    -- Use Xft?
    use_xft = true,
    font = 'DejaVuSans:size=9',
    xftalpha = 0.8,
    text_buffer_size = 2048,

    -- Update interval in seconds
    update_interval = 1,

    -- This is the number of times Conky will update before quitting.
    -- Set to zero to run forever.
    total_run_times = 0,

    -- Create own window instead of using desktop (required in nautilus)
    -- リアル透過(コンポジタ連動)の設定
    own_window = true,
    own_window_transparent = false,   -- ここを false にする
    own_window_type = 'normal',        -- ここを 'normal' にする
    own_window_argb_visual = true,     -- ここを true にする
    own_window_argb_value = 0,         -- 0で完全透明、少し暗くしたいなら 60
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

    -- Use double buffering (reduces flicker, may not work for everyone)
    double_buffer = true,

    -- Minimum size of text area
    minimum_width = 210,
    maximum_width = 210,

    -- Draw shades?
    draw_shades = false,

    -- Draw outlines?
    draw_outline = false,

    -- Draw borders around text
    draw_borders = false,

    -- Draw borders around graphs
    draw_graph_borders = true,

    -- Stippled borders?
    stippled_borders = 0,

    -- border margins
    border_margin = 1,

    -- border width
    border_width = 0,

    -- Default colors and also border colors
    default_color = 'white',

    -- Text alignment, other possible values are commented
    alignment = 'top_right',

    -- Gap between borders of screen and text
    gap_x = 100,
    gap_y = 25,

    -- Subtract file system buffers from used memory?
    no_buffers = true,

    -- set to yes if you want all text to be in uppercase
    uppercase = false,

    -- number of cpu samples to average
    cpu_avg_samples = 2,

    -- number of net samples to average
    net_avg_samples = 2,

    -- Force UTF8? note that UTF8 support required XFT
    override_utf8_locale = true,

    -- Add spaces to keep things from moving about?
    use_spacer = 'none',
    color1 = 'e68199',  -- ご希望のピンク系カラー
    color2 = 'ffffff',  -- 白
    if_up_strictness = 'link',
};

conky.text = [[
${color1}System ${hr 2}
${color2}${nodename}
${color2}TrixiePup64
${color2}${sysname} ${kernel}
${color2}Uptime ${uptime}

${color1}Processes ${hr 2}
${color2}${alignr}CPU%
${color2}${top name 1}${alignr}${top cpu 1}
${color2}${top name 2}${alignr}${top cpu 2}
${color2}${top name 3}${alignr}${top cpu 3}
${color2}${top name 4}${alignr}${top cpu 4}

${color2}${alignr}MEM
${color2}${top_mem name 1}${alignr}${top_mem mem_res 1}
${color2}${top_mem name 2}${alignr}${top_mem mem_res 2}
${color2}${top_mem name 3}${alignr}${top_mem mem_res 3}
${color2}${top_mem name 4}${alignr}${top_mem mem_res 4}

${color1}Resources ${hr 2}
${color2}${exec lscpu | grep '^Model name'| cut -c42-66}
${color2}${alignr}${exec lscpu | grep '^Model name'| cut -c67-80}
${color2}Usage  ${cpu cpu0}%${alignr}${color1}${cpubar cpu0 10,125}
${color2}Threads  ${running_threads} / ${threads}
Frequency  $freq_g GHz

${color2}Temp
${color2}Core0 ${alignr}${hwmon 1 temp 2}°C
${color2}Core1 ${alignr}${hwmon 1 temp 3}°C
${color2}Core2 ${alignr}${hwmon 1 temp 4}°C
${color2}Core3 ${alignr}${hwmon 1 temp 5}°C
#${color2}Storage ${alignr}${execi 10 smartctl -a /dev/sda | awk '/Temperature/ {print $10}'}°C

${color2}Mem  
${color2}${mem} / ${memmax}
${color2}${memperc}% ${alignr}${color1}${membar 10,170}
${color2}Swap: $swap / $swapmax
$swapperc% ${alignr}${color1}${alignr}${swapbar 10,170}

${color1}File Systems ${hr 2}
${color2}home ${fs_used /initrd/mnt/dev_save}/${fs_size /initrd/mnt/dev_save}${alignr}${color1}${fs_bar 10,60 /initrd/mnt/dev_save}

${color1}SDD ${hr 2}
#${color2}Health: ${alignr}${exec smartctl -a /dev/sda | grep "overall-health" | awk '{print $NF}'}
${color2}sda
#${color2}Health: ${alignr}${exec smartctl -a /dev/sda | grep "overall-health" | awk '{print $NF}'}
${color2}Health: ${alignr}${if_match "${exec smartctl -a /dev/sda | grep "overall-health" | awk '{print $NF}'}" == "PASSED"}${color green}PASSED${else}${color red}${blink FAILED}${endif}
${color2}Life:   ${alignr}${exec smartctl -a /dev/sda | grep "^202 " | awk '{print $4 + 0}'}%
${color2}Temp:   ${alignr}${execi 60 smartctl -a /dev/sda | grep "^194 " | awk '{print $10}'}°C
${color2}Hours:  ${alignr}${exec smartctl -a /dev/sda | grep "^  9 " | awk '{print $10}'}h

${color2}sdb
#${color2}Health: ${alignr}${exec smartctl -a /dev/sda | grep "overall-health" | awk '{print $NF}'}
${color2}Health: ${alignr}${if_match "${exec smartctl -a /dev/sdb | grep "overall-health" | awk '{print $NF}'}" == "PASSED"}${color green}PASSED${else}${color red}${blink FAILED}${endif}
${color2}Life:   ${alignr}${exec smartctl -a /dev/sdb | grep "^231 " | awk '{print $4 + 0}'}%
${color2}Temp:   ${alignr}${execi 60 smartctl -a /dev/sdb | grep "^194 " | awk '{print $10}'}°C
${color2}Hours:  ${alignr}${exec smartctl -a /dev/sdb | grep "^  9 " | awk '{print $10}'}h

${color1}NETWORK ${hr 2}
#${color2}EXT: ${alignr}${execi 3600 wget -4 -qO - icanhazip.com}
${color2}EXT: ${alignr}${execi 3600 curl -4 -s icanhazip.com}

IP:$alignr${addr wlx200db0245510}
${color2} Up: ${color2}${upspeed wlx200db0245510} k/s
${color1}${alignr}${upspeedgraph wlx200db0245510 10,170 e68199 ffffff}
${color2} Down: ${color2}${downspeed wlx200db0245510} k/s${color}
${color1}${alignr}${downspeedgraph wlx200db0245510 10,170 e68199 ffffff}
${color2}TDown:${totaldown wlx200db0245510}${alignr}TUp:${totalup wlx200db0245510}
####don't write below this line as used for conky gui weather
${color1}${voffset 2}${hr 2}
]]

picomの設定

# apt install picom

/root/Startup/picomを作成。

#!/bin/sh
picom --backend xrender -b

以上。ここまでの設定で、jwmが真っ黒になったり、sdd、usbメモリのアイコンが消えたりと異常があったが、コマンドで復帰できている。そんな異常が無かったのがBookwormPup64。TrixiePup64を今一歩か。

####################################

pdftk-javaをインストール

# apt install pdftk-java

####################################

USBメモリーの健康状態をチェックするスクリプト

#!/bin/bash

# ログファイルの保存先を固定
LOG_FILE="/root/usb_check_result.log"

# 検査したいデバイスのリスト
DEVICES=("sdb1" "sdc1" "sdd1")

# 💡 通常通りの書き方で大丈夫になります
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")

# -----------------------------------------------------------------------------
# ログ出力関数 (画面表示とログファイルへの追記を同時に行う)
# -----------------------------------------------------------------------------
log_message() {
    echo "$1"
    echo "$1" >> "$LOG_FILE"
}

# 診断開始のヘッダーを出力
log_message "================================================"
log_message " 実施日時: $CURRENT_TIME"
log_message "=== USBメモリの一括健康診断を開始します ==="
log_message "================================================"

for dev in "${DEVICES[@]}"; do
    TARGET="/dev/$dev"
    
    # デバイスが存在するかチェック
    if [ ! -b "$TARGET" ]; then
        log_message " [スキップ] $TARGET は接続されていません。"
        log_message "------------------------------------------------"
        continue
    fi

    log_message ">>> $TARGET を検査します。"

    # マウントされている場合は自動でアンマウント
    if mount | grep -q "$TARGET"; then
        log_message "  -> マウントを確認しました。自動アンマウントします..."
        if umount "$TARGET"; then
            log_message "  ✓ アンマウント完了。"
        else
            log_message "  ❌ アンマウントに失敗したため、このデバイスはスキップします。"
            log_message "------------------------------------------------"
            continue
        fi
    fi

    log_message "  🔍 不良セクタ検査中... (数分かかる場合があります)"
    
    # エラーログ用の一時ファイルを作成
    ERR_LOG=$(mktemp)
    
    # 💡 通常通りの書き方で安全に動きます
    badblocks "$TARGET" > "$ERR_LOG" 2>&1

    # エラー数をカウント
    BAD_COUNT=$(grep -v "^$" "$ERR_LOG" | wc -l)

    # 結果の判定表示
    if [ "$BAD_COUNT" -eq 0 ]; then
        log_message "  🟢 結果: [正常] 不良ブロックは見つかりませんでした。(0 bad blocks)"
    else
        log_message "  🔴 結果: 【警告】不良ブロックが $BAD_COUNT 個見つかりました!"
        log_message "     ※このUSBメモリは寿命が近いため、使用を控えることをお勧めします。"
        log_message "     [不良セクタ位置]:"
        
        while IFS= read -r line; do
            log_message "      $line"
        done < "$ERR_LOG"
    fi

    rm -f "$ERR_LOG"
    log_message "------------------------------------------------"
done

log_message "=== すべての処理が終了しました ==="
log_message ""

pScheduleで登録し、window下のenable crond serviceにチェックを入れる。半年に1回にした。


saveフォルダ18G。