カテゴリー: Linux

  • コマンドラインで HEIC を JPEG などに変換

    バッチファイルは忘れたのでWSLに逃げました(Ubuntuです)。こちらを参考にしました。

    uep@robby:~$ sudo apt install libheif-examples
    uep@robby:~$ cd /mnt/c/Users/YOUR_DESTINATION_DIRECTORY/
    uep@robby::/mnt/c/Users//YOUR_DESTINATION_DIRECTORY$ for files in *.heic; do echo $files; done
    uep@robby::/mnt/c/Users//YOUR_DESTINATION_DIRECTORY$ for files in *.heic; do heif-convert $files "${files%.heic}.jpg"; done

  • yaskkserv2 を systemd に登録

    最近はRustで実装されたSKKサーバがあるようだ。

    https://github.com/wachikun/yaskkserv2

    インストールはREADMEの通りで問題ない。

    最新の辞書を定期的に取得し、サーバが扱える形式に変換。

    uep@curt:/etc/systemd/system$ sudo crontab -l
    # m h  dom mon dow   command
    0 6 * * * cd /usr/local/src/dict && git pull
    # git clone https://github.com/skk-dev/dict.git
    0 7 * * * cd /usr/local/src/dict && /usr/local/sbin/yaskkserv2_make_dictionary --dictionary-filename=/usr/local/share/dictionary.yaskkserv2 SKK-JISYO.L SKK-JISYO.jinmei SKK-JISYO.fullname SKK-JISYO.geo SKK-JISYO.propernoun SKK-JISYO.station zipcode/SKK-JISYO.zipcode zipcode/SKK-JISYO.office.zipcode

    自動起動するよう systemd に登録

    uep@curt:/etc/systemd/system$ cat /etc/systemd/system/yaskkserv2.service
    [Unit]
    Description=Yet Another SKK server
    
    [Service]
    User=nobody
    ExecStart=yaskkserv2 --config-filename /usr/local/etc/yaskkserv2.conf --no-daemonize
    
    [Install]
    WantedBy=multi-user.target

    サーバ設定ファイルを作成しておく

    uep@curt:/etc/systemd/system$ cat /usr/local/etc/yaskkserv2.conf
    # default none
    dictionary = /usr/local/share/dictionary.yaskkserv2
    
    # default 1178
    port = 1178
    
    # default 16
    max-connections = 16
    
    # default 0.0.0.0
    listen-address = 0.0.0.0
    
    # default localhost:127.0.0.1
    hostname-and-ip-address-for-protocol-3 = localhost:127.0.0.1
    
    # default 64
    max-server-completions = 64
    
    # default 1000
    google-timeout-milliseconds = 1000
    
    # default disable
    # google-cache-filename = [FILENAME]
    
    # default 1024
    google-cache-entries = 1024
    
    # default 2592000
    google-cache-expire-seconds = 2592000
    
    # default 25
    google-max-candidates-length = 25
    
    # default notfound (disable / last / fast)
    google-japanese-input = notfound
    
    # default disable
    google-suggest = enable
    
    # default disable
    google-use-http = disable
    
    # default disable
    google-insert-hiragana-only-candidate = disable
    
    # default disable
    google-insert-katakana-only-candidate = disable
    
    # default disable
    google-insert-hankaku-katakana-only-candidate = disable
  • Moodleサイト移行

    ホスト名の変更を行う手順メモ

    1. メンテナンスモードにする
      sudo php moodle/admin/cli/maintenance.php --enable
    2. バックアップ
      • データベース
      • HTML
      • moodledata
    3. レガシーメンテナンスモードにする
      sudo php moodle/admin/cli/maintenance.php --disable
      sudo php moodle/admin/cli/maintenance.php --enableold
    4. サイト移行ツール(admin/tool/replace)へのアクセス
    5. メンテナンスモードを解除

    移行中「動作環境」「サーバチェック」で max_input_vars が足りないとワーニングが表示された。修正するために php.ini を編集したものの有効にならなかった。fpm を使用している場合には /etc/php-fpm/ 以下を設定すること。

  • CentOS8への移行(2)

    前回までrootで作業してきたが一般ユーザーを作成しsudoを使えるようにする。

    (さらに…)
  • CentOS8への移行(1)

    老人に最新OSが扱えるかリハビリを兼ねて移行した記録。インストールのためのイメージはローカルからインストールできるよう CentOS-8.XXXX-x86_64-dvd1.iso を選択する。まずはインストール後ネットワーク設定から。

    (さらに…)
  • Moodleのログを解析向けに出力するカスタマイズ:mod_quiz編

    mod_quizにこだわって分析したい場合のカスタマイズをまとめておく。端的にはこの記事の続編である。今回からはUNIX VMを準備するのはやめ、Ubuntu on Windows10で開発環境を構築している。XAMPとかVMWare Playerをインストールする必要がなくなり素晴らしい。対象は、mod/quiz/review.php, mod/quiz/report/{attemptsreport_table,attemptsreport}.phpである。
    前提として、もしPHPスクリプトでどのようなクエリを発行しているのか知りたければ、各スクリプト冒頭のrequire群の後に以下を追加すればよい(だいたい後悔するのがオチである)。相変わらずたいしたことはやっていない。

    [code]$DB->set_debug(true);[/code]

    (さらに…)

  • MySQLの一般ユーザでトリガ:log_bin_trust_function_creators

    Maharaのアップグレードができないのでログを見てみると

    [code]
    [DBG] db (lib/dml.php:157) mysqli error: [1419: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)] in EXECUTE("CREATE TRIGGER "testtrigger" BEFORE INSERT ON "testtable" FOR EACH ROW BEGIN END;")
    [/code]

    と、maharaユーザでトリガの権限がないとのことのようだ。バイナリロギングを明示的に有効にしたかどうかは忘れたのだがたしかに出力されている。ということなので log_bin_trust_function_creators 変数を設定すれば良い。 (さらに…)