Vimで半角・全角スペースの可視化

Vimで半角・全角スペースが混ざるテキストファイルを編集する際に、ちょっとしたミスでスペースがずれてしまう。半角・全角スペースの可視化する方法を検索してみた。

vim でタブや全角スペースを表示する

にも参考しながら、最終的に ~/.vimrc に

set-list
set-listchars=space:-
highlight-JpSpace-cterm=underline-ctermfg=Blue-guifg=Blue
au-BufRead,BufNew-*-match-JpSpace-/ /

と記述しました。半角スペースは「-」、全角スペースは青の下線と表示された。最終的な表示結果は

vimの画面キャプチャ

のようになる。

PodmanでローカルフォルダーをContainerへ共有する

いろいろな事情で、dockerの代わりにPodmanを使用している。runコマンドを実行する際に、ローカルフォルダーをContainerへ共有する

-v ローカルフォルダー:Container内のフォルダー

のオプションをつけても、Container内からフォルダーしか見えなくて、フォルダー内のファイルやサブフォルダーが見えない。

Google先生に聞いたら、以下の回答をもらった。

Common Causes and Solutions:
  • SELinux Context Issues:
    • Problem: SELinux, if enabled on the host, can restrict container access to mounted volumes.
    • Solution: Append :z or :Z to the volume mount option in your podman run command.
      • :z relabels the volume for shared use among multiple containers.
      • :Z relabels the volume for private use by a single container.
      • Example: podman run -v /host/path:/container/path:z my_image

つまり、オプションの最後に「:z」か「:Z」をつければよい。

試しに

-v ローカルフォルダー:Container内のフォルダー:Z

のオプションで再度runコマンドを実行したら、フォルダー内のファイルやサブフォルダーが見えるようになった。

mplayerで再生速度を上げても音声が変にならないオプション

TVerやYoutubeで1.25倍速の再生に慣れたため、ローカル動画も同じく1.25倍速で見たい。しかし、

mplayer -speed 1.25 video.mp4

コマンドで再生してみたら、音声が変になってしまった。特に人の声が甲高くなり、本人の声だと判別できなくなった。調べたら、

mplayerでピッチを変えず, 再生速度だけ変える - Shohei Yoshida's Diary

に対応法が書かれていた。

mplayer -speed 1.25 -af scaletempo video.mp4

を実行すればよい。

いちいちオプション追加がめんどくさいため、~/.mplayer/config に

af=scaletempo

の1行を追加すれば以降オプションをつけなくても大丈夫だ。

ffmpegコマンドで字幕を映像ファイルに追加

手元に、映像ファイル(video.mp4)、音声ファイル(audio.mp4)、字幕ファイル(sub.srt)があるため、それらを一つのファイルにまとめたい。

FFmpegで動画に字幕・副音声を追加する | DevelopersIO

に解決策が書かれている。

ffmpeg -i video.mp4 -i audio.mp4 -i sub.srt -map 0:v -map 1:a -map 2 -metadata:s:s:0 language=Japanese -c:v copy -c:a copy -c:s copy output.mkv

のコマンドを実行すればよい。

参考URLには

ffmpeg -i video.mp4 -i audio.mp4 -i sub.srt -map 0:v -map 1:a -map 2 -metadata:s:s:0 language=jpn -metadata:s:s:0 title="Japanese" -c:v copy -c:a copy -c:s copy output.mkv

オプションもついていたが、表示される字幕の言語が「jpn」のままだった。

追記:

作成した動画を再生するとき、デフォルトでは字幕が表示されない。

デフォルト字幕を表示させるため、

-disposition:s:0 default

のオプションをつければよい。また、今後のマルチ音声に対応するため、音声にもメタデータをつけることも可能なので、最終的なコマンドは

ffmpeg -i video.mp4 -i audio.mp4 -i sub.srt -map 0:v -map 1 -metadata:s:a:0 language=Japanese -map 2 -metadata:s:s:0 language=Japanese -c copy -disposition:s:0 default output.mkv

となる。

mplayerでutf-8文字コードのsrt字幕を表示させる

フォントを設定していたのに、なぜかずっと文字化けしていて、うまく表示できなかった。

いろいろ調べたら、

End-user stuff on linux: Make mplayer display Japanese utf-8 srt subtitles.

に解決策があった。

~/.mplayer/config に

subfont-encoding=unicode
unicode=yes
utf8=yes
subcp=utf-8 
fontconfig=yes
font='さざなみ明朝'

を追加するだけで解決した。

(自分は明朝フォントがあまり好きでないため、ほかのフォントに変更)

WSLでFedora41を42にupgradeする

またFedoraのアップグレード時期がやってきた。

しかし、WSLでFedoraをupgrade - hanaokaiwa's blog の

sudo -E dnf system-upgrade upgrade

コマンドを実行すると、

Unknown argument "upgrade" for command "system-upgrade". Add "--help" for more information about the arguments.

エラーが発生してしまった。

 

C--BLG: Fedora Remix for WSLにてFedora 42に上げる方法 には

export DNF_SYSTEM_UPGRADE_NO_REBOOT=1

sudo -E dnf system-upgrade reboot

sudo -E dnf system-upgrade upgrade

の代わりに

export DNF_SYSTEM_UPGRADE_NO_REBOOT=1

sudo -E dnf5 offline _execute

を実行するように書かれていますが、自分の環境では

Couldn't connect to D-Bus: [org.freedesktop.DBus.Error.FileNotFound] Failed to open bus (No such file or directory)

のエラーが発生してしまった。

 

sudo systemctl status dbus

を実行すると、

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

のエラーが発生してしまった。

 

いろいろ調べてみたら、

「System has not been booted with systemd as init system (PID 1). Can't operate.」のエラー解決 #Ubuntu - Qiita には対応策が書かれている。

/etc/wsl.conf に

[boot]
systemd=true

を追加して、powershellから

wsl --shutdown

wsl

の順に実行すれば、dnf5コマンドが実行できるようになった。

(すこしWSLが不安定になってしまったため、しばらくは様子見)

Microsoft 365でSharePointのとあるファイルを開く際に、フリーズする問題の対応

Microsoft 365でSharePointのとあるファイルを開く際に、フリーズしてしまう。しかも、表示された最終同期時刻が昨日の時間であった。いろいろ試したが、最終的に

%LocalAppData%\Microsoft\Office\16.0\OfficeFileCache

フォルダーを削除したら、直った。

(ファイル → オプション → 保存 → キャッシュファイルの削除  も試したが、効かなかった)