mieki256's diary



2020/08/01() [n年前の日記]

#1 [pc] メインPCが死亡

Windows10をインストールして使っていたメインPCのシステムドライブが ―― SSDがいきなり何の前触れもなく死んでしまった。いわゆる突然死。

死んだのは、SanDisk SDSSDA-240G。240GB、2.5インチSSD。Cドライブ。

某ゲームをプレイしていたら、メインPCがいきなり再起動。BIOSのロゴ画像が表示された後、無反応になった。リセットスイッチを押しても同じ症状。

数分待つとBIOSに入れることに気づいたが、SATA Port 0 は Not Installedと表示されてる。他のPort ―― Port 1 から Port 3 までのドライブは認識できている。

手元にあった別のSSD、PLEXTOR PX-256M5S を代わりに SATA Port 0 に取り付けてみたところ、いつもどおりの時間でBIOSが起動した。SATA Port 0 にも、PLEXTOR PX-256M5S の型番が表示された。

BIOSが認識しない SanDisk SSD を、USB3.0接続外付け2.5インチHDDケースに入れて繋いでみたが、その繋ぎ方でも無反応。外付けHDDケースの電源LEDが光らない。どうやらSSDが突然死したのは間違いなさそう。

バックアップは取ってなかった…。絶望的な気分。何が消滅したのか把握できてない。参った。これは参った。

SSDは、こういうことがあるのか。ファイル一つすら救い出せない。全てが消えてしまった。恐ろしい。でも、あの速度を一度体感してしまったら、もうHDDには戻れないし。

さて、どうしたものか…。新規にSSDを購入するか、それとも手元にあるPLEXTOR製SSDを使ってしばらくしのぐか。でも、このSSD、以前は親父さん用PCで使っていて動作が怪しい場面が何度かあったから、使わずに埃をかぶってた記憶もあるわけで。そんな怪しいSSDをシステムドライブとして使うなんて、また地獄を見るようなものだよな…。

何にせよ、Windows10のインストールメディアを作成する方法を調べないと。Linux機で作れるのかな…。

2020/08/02() [n年前の日記]

#1 [ubuntu][linux] Ubuntu機でWindows10のインストールメディアは作れるらしい

メインPCが死んでしまった状態なので、仕方なく(?)、Ubuntu Linux 20.04 LTSをインストールしてあるサブPCを使って各種作業をしているけれど。とりあえず、USBメモリから起動するWindows10のインストールメディアを、Ubuntu Linux を使って作れるらしいと知った。

_[Linux][Ubuntu] Windows 10インストール用USBメモリをUbuntu上で作成する - Qiita

まずは Microsoft のサイトから、Windows10インストールメディアのisoを入手。その iso をUSBメモリに、USBブート可能な状態で書き込めばいい。

Ubuntu側では WoeUSB というツールをインストールして、そのツールを利用して、USBブートするUSBメモリを作れる。

ただし、Ubuntu 20.04 では、WoeUSB をインストールしようとしてもエラーが出てくるので、親切な方がビルドしてくれた zip をDL・解凍して、中に入ってる .deb を apt でインストールして使えるようになった。

_WoeUSB doesn't install on Ubuntu 20.04 - Issue #311 - slacka/WoeUSB - GitHub

#2 [ubuntu][linux] WineをUbuntu Linux 20.04上でインストールしてみたけれど

Jane Style を Ubuntu Linux 20.04上で動かしてみたくて、Wineをインストールしてみたのだけど。ちなみに、Wineというのは、Windows用のアプリをLinux上で動作させることができるプログラム群。Ubuntu 20.04なら、aptでインストールできるらしい。

sudo apt install wine

$ wine --version
wine-5.0 (Ubuntu 5.0-3ubuntu1)

$ winecfg

しかし、Jane Style のインストーラを実行すると、文字化けする。

wine jane400_setup.exe

winetricks なるものをインストールして、CJKフォントをインストールすれば改善するという話を見かけて試してみたけど。
sudo apt install winetricks
winetricks
これがとんでもなく、DLとインストールに時間がかかる。何時間かかったのかちょっとわからない。

いくつかエラーが出ていたようだけど、それでもとりあえずインストールはできて、Jane Style のインストーラの文字化けも解消した。

しかし、Jane Style を実行しても、板一覧が取得できない。どうも正常に動いてる気配がしない…。ググった感じでは、昔はWineで動いていたけれど、今現在は板一覧が取得できない状態になってるらしい…。

2020/08/03(月) [n年前の日記]

#1 [firefox] Firefoxのブックマークが生き残ってた

自分は普段 Waterfox (Classic) というブラウザを使っていて。今回、メインPCのSSDが突然死したことで、ブックマーク等も全部消えたのだろうと意気消沈していたのだけど。

そういえば、Waterfox を使う際には Firefox Sync にログインしつつ使っていたような気がするなと思い出して。試しに Ubuntu Linux 20.04 上で Firefox を起動後、Firefox Sync にログインしてみたところ、普段目にしていたブックマーク群が出現してくれた。

助かった。マジ助かった。これは感謝の言葉を述べずにはいられない。ありがとう、Firefox Sync。ありがとう、Firefoxの開発者様方。Firefox Sync、素晴らしいな…。

#2 [pc] SSDを注文

TSUKUMOのネット通販でSSDを注文。

今回、どの容量を選ぶかで、かなり悩んだ。今まで使ってたのは 240GB だけど、結構空き容量が厳しくて。それを考えたら480GB以上を選んだほうがいいのだろうけど、しかし今回のようにまた突然死になったら更にダメージがでかすぎるので、今までと同様に 240GB、もしくは120GBぐらいにしたほうが後々ダメージが少なくて済むのかなと。しかし1GBあたりの価格を眺めると、240GBあたりは割高で…。

少容量SSD+大容量HHDにするか、大容量SSD+大容量HDDにするか、どの構成が妥当なのか…。

SSDは、HDDと違って、何の前触れもなく全てが一瞬で消失する点が痛すぎる…。それを前提にして構成しないと…。SSDが出始めの頃は、もし何かが起きても最低限読み出しだけはできるように、みたいな設計をしてた記憶もあるのだけど。もう今時は、価格競争に晒されて、そんな設計にはなってないのだろうな…。

2020/08/04(火) [n年前の日記]

#1 [ubuntu][linux] Ubuntu上でスクリーンセーバが立ち上がらない

Ubuntu Linux 20.04 LTS + Xubuntu desktop で、スクリーンセーバが起動しないことに気づいた。スクリーンセーバの設定画面は開けるし、アイドル状態が何分続いたら起動するかを設定することもできるけど、ずっと放置していてもスクリーンセーバが起動してくれない。

原因は、Xfceのパネルに追加した「システム負荷モニター」だった。これを削除するとスクリーンセーバが働くようになる。

他にもスクリーンセーバの起動を邪魔する何かがあるのではと、「CPU周波数モニター」「CPUグラフ」「センサープラグイン」をパネルに追加してみたけれど、それらのアイテムをパネルに表示させた状態でも、スクリーンセーバはちゃんと起動した。

一応環境をメモ。CPU AMD A8-3850。M/B GIGABYTE GA-A75M-UD2H。

#2 [pc][windows] 新しいSSDが届いた

TSUKUMOに注文していたSSDが届いた。Crucial MX500 CT500MX500SSD1JP。500GB、SATA接続、2.5インチSSD。税込7,280円。

DRAM無しだけど若干安いBX500と、DRAM有りだけど若干高いMX500、どちらにしようか悩んだけれど。BX500はプラスチックケースで、MX500はアルミケースらしいので、放熱を考えてMX500にした。ただ、MX500のほうが発熱は大きいそうで…。だからアルミケースなのかな…。

MX500の250GBでいいかなと思ったけれど、BX500 240GB、MX500 480GB、MX500の500GB、この3つの価格を眺めたらビミョーなところで…。MX500 240GB版に約2,000円ほど追加するだけで容量が倍になる状況なので、ならば500GBでいいのではないかと思ってしまったわけで。

ただ、バックアップの手間暇を考えると、そこまでの容量が必要なのかどうかという気も…。また突然死する状況を想像したら、ひょっとすると少ない容量のほうが良かったのかもしれない…。

2020/08/05(水) [n年前の日記]

#1 [pc][windows] メインPCにWindows10 x64 2004をクリーンインストールした

メインPCのSanDisk製SSDが突然死したので、必然的に、新規購入したSSDに、Windows10 x64 2004 をクリーンインストールする羽目になった。

Windows10インストール用のUSBブートメディアは、Ubuntu Linux 20.04 LTS上で作成できた。Microsoftのサイトから、Windows10インストールメディア用isoをDLして、woeusb というツールでUSBメモリに書き込んでやればいい。

メインPC上で、USBメモリから起動するわけだけど、UEFI とそれ以外で、SSD/HDDの管理領域の種類が変わる、という話も見かけた。UEFIで起動するとGPTに、それ以外なら従来のMBRになるとかなんとか。怖いので、BIOS起動時にF12キーを連打してBOOT MENUを表示して、UEFIではないほうを選んで起動した。

購入直後のSSDを接続してある場合、Windows10インストール作業時に未割り当てのドライブを選択すれば、自動で必要なパーティションを切ってインストールしてくれる模様。

インストール直後に「ディスクの管理」で確認したら、SSD上で以下の構成に ――
以上、3つのパーティションができていた。

おや? 最初のパーティションが50MBって少なくないか…。

Windows10 2004の不具合っぽい感じがする。 :

_Windows10 V2004のシステムイメージの作成が0x80780119で失敗する【Ver2004】 - マイクロソフト コミュニティ

50MBというのは明らかに少ない。Windows10 1909までは500MB以上取られていたのに、2004では50MBになって、しかもシステムイメージの作成でエラーが出るらしい。

一応、某ツールを利用して、最初のパーティションを1GB近く確保した状態にしておいた。果たしてこの処置が、後で効いてくるのかどうか…。どうなんだろうなあ…。

#2 [zatta] 日記ファイル群の生存状態を確認

メインPCのHDD内を確認してみたけれど、この日記のファイル群はSSDのほうに置いてあったようで…。つまり、ローカル上では、今まで書いてきた日記の全ファイルが消滅していた。トホ。

日記ファイルなんてどう考えてもデータファイルの類なのに、どうして自分はSSD側に置いていたんだろうか。HDD側に置くべきファイルだろう…。おそらく、ローカルでIISを動かして表示確認する際に、多少は表示速度が上がるのではと期待してSSD側に置いていたのでは、という気もする。今となっては覚えてないけど。

一応、USB3.0接続の外付けHDDに、たまに思い出したようにバックアップはしていたので、そちらを確認してみたけれど。最後にバックアップしたのが 2020/07/18だった。つまり、2020/07/18から020/08/01までの日記ファイルは完全に消滅した模様。

2020/08/06(木) [n年前の日記]

#1 [windows] PerlとPythonをメインPCにインストールした

Windows10 x64 2004上で、Perl と Python をインストールした。

Perlをインストール。 :

ActivePerl と Strawberry Perl をインストールしておいた。

今頃気づいたけれど、ActivePerl は、ActiveState にユーザ登録しないと入手できない状態になっていた。なんとなくだけど、これはもう終わりかもしれん…。

Strawberry Perl は、ユーザ登録等しなくても入手できる。

今回は、C:\Perls\ 以下に、3つほどインストールした。
  • C:\Perls\aperl5.26.3.0000-x64-4898c4be\
  • C:\Perls\aperl5.8.9.827-x86-291969\
  • C:\Perls\strawberry\5.18.4.1-x64\

もしかすると、StrawberryPerlのインストールには管理者権限が必要なのだろうか…? エクスプローラ上からそのままインストーラ(.msi)を実行しても、ブロックされてしまった。コマンドプロンプトを管理者権限で開いてインストーラ(.msi)を実行しないと正常に処理されななかった。

ちなみに、古いバージョンをインストールしたのは、将来的に Namazu for Windows を試してみることがあるのかもしれないから…。

各PerlのPATHへの追加。 :

念のためにメモ。

ActivePerlの場合、PATHに以下の追加が必要。
APERL_DIR=C:\Perls\aperl5.26.3.0000-x64-4898c4be
%APERL_DIR%\site\bin
%APERL_DIR%\bin

StrawberryPerlの場合、PATHに以下の追加が必要。
BPERL_DIR=C:\Perls\strawberry\5.18.4.1-x64
%BPERL_DIR%\c\bin
%BPERL_DIR%\perl\site\bin
%BPERL_DIR%\perl\bin

Pythonをインストール。 :

Python 2.4, 2.5, 2.6, 2.7, 3.8 も、C:\Python\Python24\、C:\Python\Python38-64\、等にインストールした。基本的には 3.8 を常用する予定。

Python 2.6、2.7 に対しては、今後もしかすると古いGIMPを動かしたいときもありそうなので、pygtk-all-in-one 2.24.2 も追加でインストールしておいた。

2020/08/07(金) [n年前の日記]

#1 [windows] Windows10にiP4600のプリンタドライバをインストール

Windows10 x64 2004上に、インクジェットプリンタ Canon iP4600用のプリンタドライバをインストールした。

Canon iP4600は古いプリンタなので、Windows10用のプリンタドライバは提供されてない。しかし、Windows8.1 x64用のプリンタドライバをインストールして使うことはできるらしいので、ip4600svst64221ej.exe をDL。実行してインストール。

インストール時にちと問題発生。セットアップ画面では、以下の説明が表示されていたけれど。
  1. 「プリンタとの接続ケーブルを外してからドライバをインストール」
  2. 「ドライバのインストールが終わったら『完了』をクリック」
  3. 「プリンタとの接続ケーブルを繋いで、プリンタの電源を入れれば自動認識される」

しかし、手順に従っても、自動認識してくれなかった。仕方ないので手動で設定。
  1. Windows10の「設定」 → デバイス → プリンターとスキャナー → プリンターとスキャナーの追加。
  2. 「プリンターが一覧にない場合」をクリック。
  3. 「ローカルプリンターまたはネットワークプリンターを手動設定で追加する」を選択。
  4. 既存のポートを使用 → USB001(USBの仮想プリンターポート)を選択。
  5. 一覧から、Canon iP4600 series を選択。
  6. 現在インストールされているドライバーを使う(推奨)を選択。
  7. プリンター名を入力。
  8. 「このプリンターを共有して、ネットワークのほかのコンピューターから検索および使用できるようにする」を選択。共有可能にする。

今回、共有名は「iP4600」にした。

LAN内の他のPCからも利用できるようにしたいので、Windows10側のプリンタの共有設定を弄る。
Windows10 x64 2004 をクリーンインストールした環境ではこれで済んだけど、以前の環境では、「パスワード保護共有を無効にする」を選んでも、何故か「有効にする」に戻ってしまう場合があった。その場合は、Guestユーザのパスワードを空欄にしないといかんらしい。

  1. スタートボタンを右クリック
  2. → コンピュータの管理
  3. → ローカルユーザーとグループ
  4. → ユーザー
  5. → Guestを右クリック → パスワードの設定
  6. → 警告メッセージが表示されるので、「続行」をクリック。
  7. → パスワードを空にして「OK」

#2 [windows] foobar2000をインストール

HDD内の音楽ファイルを再生して確認したかったので、Windows10 x64 2004上に、foobar2000 1.5.5 をインストールした。

プレイリストの表示項目をカスタマイズ。 :

プレイリスト上で表示できる項目が少ない。モノラルやステレオ、サンプリングレート等も表示したい。そのあたりは、以前も設定したことがあるはず…。

_mieki256's diary - foobar2000をカスタマイズしたり
_Title Formatting Reference
_Foobar2000:Title Formatting Reference - Hydrogenaudio Knowledgebase

File → Preferences → Display → Default User Interface → Playlist View → Custom columns、もしくは、プレイリストの上のほうの項目種類の上で右クリック → Columns → More → Custom columns を選んで、Add new をクリックして項目を追加していく。

とりあえず、以下を追加した。
Filename + ext%filename_ext%Left
Channels%channels%Left
Samplerate%samplerate% HzRight
Directory%directoryname%Left

プレイリストの上のほうの項目種類の上で右クリックすると、追加した項目が表示されているので、選んでチェックを入れれば、その項目も表示される状態になる。

項目の並びは、ドラッグアンドドロップで変更できる。

Componentsをインストール。 :

foobar2000 は、Components とやらを追加すると、機能を増やすことができる。以下のページから、気になる Components を探してDL。

_foobar2000: Components Repository

今回は、以下のコンポーネントをインストールした。
  • OpenMPT componnent 0.5.1 (foo_openmpt54)
  • SRC resampler 1.0.11 (foo_dsp_src_resampler)
  • TTA Audio Decoder 3.6 (foo_input_tta)
  • WASAPI output support 3.3 (foo_out_wasapi)
  • WASAPI shared output 0.6.14 (foo_out_wasapis)
  • MIDI Player 2.3.5 (foo_midi)
  • Sox Resampler mod2 0.8.3mod2 (foo_dsp_resampler_mod2)

一般的な Components は、.fb2k-component をDLして実行すると、foobar2000 が関連付けされていてインストール作業が進むのだけど、SoX Resampler だけは以下を参考にインストールした。

_SoX Resamplerなどのアップサンプリングについて - kuriPEblog

2020/08/08() [n年前の日記]

#1 [pc] 光ファイバー回線が繋がらなくなった

夜中の01:00頃、PCがインターネットに繋がらなくなった。無線LANルータの管理画面はブラウザからアクセスして表示されたけれど、管理画面上では、プロバイダやフレッツスクエアに接続できてないよ、と表示されていた。

階段の天井近くに設置してある、ONU(光回線終端装置)と無線LANルータを目視で確認したら、ルータは電源が入ってるけれど、ONUは4つあるLEDが全部消えていて。電源を再投入しても、「POWER FAIL」と書かれたLEDだけが光って、それもそのうち、10数分ほどすると消えてしまう。さてはONUが逝ってしまったのだろうか…?

タウンページで確認したら、NTTの電話関係の故障は、電話番号 113 で受け付けるようで。AM09:00-PM05:00までが営業時間(?)と書いてあったので、AM09:00になってから固定電話で連絡。 *1

Bフレッツが繋がらないと相談したら、その事例は 0120-000-113にかけてくれ、とのこと。そちらの電話番号にかけなおしたところ、幸い工事業者さんが午前中に行けそうだけどどうするかと問われたので、お願いすることに。助かった。数日後になると言われたらどうしようとヒヤヒヤした。

AM10:00頃、業者さんが来訪。やはりONUの故障らしい。AM11:30までの間に、光ファイバーを壁のコネクタで抜き差しできるように工事、かつ、ONUを交換。今までのONUは白くて背が高い製品だったけど、黒くて背が低い製品に ―― 前面に「GE ONU」と書かれた製品と交換になった。交換後は、無事にPCがインターネットに接続できる状態になった。

NTTからレンタルしてるONUが故障したという状況なので、工事費は無料とのこと。

電話口での話では、今までのONUは、2005年頃に設置した個体らしい。15年間も動いてたのか…。しかも、東日本大震災を乗り越えて…。

一応メモ。今回交換された新しいONUは、LEDが4つ点灯してる状態が正常らしい。ルータが接続されていれば「UNI」LEDが点くし、外してあれば「UNI」は点かない、とのこと。
*1: ウチは、災害時を考慮して、電話回線はダイヤル回線のままなので、電話は生きてたわけで…。

2020/08/09() [n年前の日記]

#1 [windows] MS-IMEが新しくなったらしいけど古い版に戻してしまった

Windows10 2004 (May 2020 Update)では、MS-IMEが新しくなったそうで。

_日本語入力にも大幅なテコ入れ? 「May 2020 Update」に導入された入力関連の改善 - 窓の杜
_【山田祥平のRe:config.sys】今こそすべての日本国民に問うIMEのオンとオフ - PC Watch
_「Windows 10 May 2020 Update」で改善された日本語入力機能をチェック | できるネット

変換キーでIMEオン、無変換キーでIMEオフに簡単に設定できるあたりはいいなと思ったのだけど。今までもそのようにカスタマイズして使っていたし。

しかし、使っていて妙な感じが。もしかして、Shiftキーを単独で押して英数入力に切り替えることができないような気がする…。いやまあ、Shiftキーを押しながらキーを打つことで切り替えられるという説明も見かけたのだけど、それだと最初の文字が必ず大文字になってしまうのでは…。最初の文字が小文字から始まる単語を打ち込みたい場合もあるのですが…。

ということで、古い版に戻してしまった。

どの操作が妥当なのかよく分からない。 :

Microsoft側の考えを想像すると…。本来、変換/無変換キーでIMEのオンオフを切り替えているユーザなら、Shiftキー単独押しで英数入力に切り替えて入力したりはしないだろう、無変換キーを叩いて英数入力に切り替えて打ち込んでいるはず、という判断なのかもしれないなと…。Shiftキー単独押しの英数入力は、ずっとIMEをオンにして使っているタイプのユーザが欲する機能のはず、という判断もありそうな。

もっとも自分の場合、
  • 半角/全角キーによるIMEオンオフトグル
  • 変換・無変換キーによるIMEオンオフ
  • Shift単独押しによる英数入力
この3つを全部使いながら打ち込んでいるみたいで…。どのタイミングでどのキーを押しているのか把握できてないのだけど、一応は日本語入力と英単語入力ができているという、なんだかよくわからない状態で。

更に、Ubuntu Linux も使っている場合は、Ctrl + Space によるIMEのオンオフトグルも使うという…。半角/全角キーを送信できないリモートデスクトップソフトを立ち上げて利用する時もあるので…。

#2 [nitijyou] 膝を痛めた

犬の散歩中に膝を痛めてしまった…。詳細はGRPでメモ。

2020/08/10(月) [n年前の日記]

#1 [windows] Windowsのドキュメントフォルダの場所を固定できないものか

親父さんからPC相談。「ホームページビルダーのサイト情報がおかしくなった」「サイトを開こうとしてもファイルが無いといわれる」という相談で。

以前も同じ相談を受けたなー、と思い出しながら確認してみたら、やはり、Windows10のドキュメントフォルダの実体がデスクトップ上に移動していた。本来なら、C:\Users\USERNAME\Documents\ にあるはずのドキュメントフォルダが、C:\Users\USERNAME\Desktop\Documents\ に行ってしまったので、ホームページビルダーは、「C:\Users\USERNAME\Documents\hoge\ というフォルダにサイト関係のファイルが入ってるはずだけど、そんなフォルダは無いよ?」と言ってきたわけで。

これで2回目だな…。親父さんのことだから、おそらく何かの拍子にデスクトップ上のドキュメントフォルダへのショートカットファイルが消失した際に、「ドキュメントフォルダが無いぞ。どこに行ったんだ? …ああ、ここにあった。デスクトップに持ってこなきゃ」と、ドキュメントフォルダの実体をデスクトップ上にD&D(ドラッグアンドドロップ)で移動してしまったのではなかろうか。そもそもどうしてデスクトップ上のショートカットファイルが消失するのかが分らんけど。親父さんが作業ミスで消しているのか、それともWindows10の不具合なのか…。

何にせよ、初心者や年配者向けの機能として、ドキュメントだのピクチャだの、その手の重要な(?)フォルダの実体を迂闊に移動できなくする、そんな設定が欲しい気もするなと…。せめて、移動する前に、「貴方はフォルダの実体を移動しようとしています。本当に良いのですか? ほとんどの場合、ショートカットファイルを作成するだけで事足りますよ?」的な問い合わせをしてくれる機能が欲しい気もするわけで。まあ、ファイルやフォルダを移動する処理をするたびに、「このフォルダは特殊なフォルダか?」とチェックするなんて結構無駄な処理が増えるなー、とも思うけど。

根本的な問題として、ユーザ自身がどんなファイル操作・フォルダ操作を自分でしようとしているのか把握できてないあたりがマズイのだよな…。GUIにおけるD&D(ドラッグアンドドロップ)は比較的手軽な操作だけど手軽であるが故に誤操作も発生するし…。その気は無かったのにうっかり間違ってD&Dして「アレ? あのファイル(フォルダ)は、どこに行った?」てな場面もちょくちょくある…。何かもうちょっと初心者向けのナイスな操作方法が必要なのかもしれない。

あるいは、そもそもフォルダという概念を無くしてしまうとか…。全てのファイルは特定の場所に保存されてタグ付けと検索で辿り着くことを強要する、とか…。

#2 [linux][ubuntu][windows] Rictyフォントを生成しようとしたけど上手くいかない

Rictyフォント生成スクリプトの 4.1.1 が公開されていたようなので、Ubuntu Linux 20.04 LTS上で Rictyフォントを生成してみようとしたのだけど。

_プログラミング用フォント Ricty
_fonts/ofl/inconsolata at master - google/fonts
_M+とIPAの合成フォント

_Rictyフォントの文字間隔を修正する - Qiita
_プログラミング用フォント Ricty をWindowsで生成する(表示にずれが出ないようにもする): パソコン鳥のブログ
_Windows のコンソールを使いやすくしよう | レコチョクのエンジニアブログ
_WSLのフォントでRictyを設定する - aopeee1009のブログ

これが上手くいかない…。
一番最後の問題は、元になってる Inconsolataフォント、Migu 1Mフォントのバージョンが合ってないから、らしい。Inconsolata は 3.001、Migu 1M は 2020307 を使ったのがマズかったのだろう…。Ricty 4.1.1 は、2017/12/03の公開なので、その時点では Inconsolata 2.000、Migu 1M 20150712 しか無いはずで。

とりあえず、以前生成した Ricty 4.0.1 が外付けHDDに残ってたので、当面はソレを使うことに。そのうち、元フォントの旧版を集めて再チャレンジしてみよう…。

2020/08/11(火) [n年前の日記]

#1 [windows] ファイル同期をするためにSyncToyとFreeFileSyncをインストールした

Windows10 x64 2004上でファイルやフォルダの同期をしたいなと。同期ができればSSD側によく使うファイルを置いておきながらHDD側にバックアップを取っておくこともできるはず…。

今までは SyncToy を使っていたので、今回も SyncToy 2.1 x64 をインストール。

_Download SyncToy 2.1 from Official Microsoft Download Center
_Microsoft製フリー同期ツール「SyncToy」には、コマンドラインから使える SyncToyCmd.exe もあるのが便利! - Sakura scope

動作環境に Windows10 は含まれてないけど今までも一応動いてたので…。

他にも良さそうなツールがないかとググってみたら、FreeFileSync というツールがあることを知った。こちらもインストールしてみた。

_Robocopyより高機能。ファイル同期ツールの決定版「FreeFileSync」 (1/2):知っトクWindowsツール - @IT
_ローカル・リモート・Googleドライブ・SFTP・FTP対応のファイル同期ソフト「FreeFileSync」レビュー - GIGAZINE

解説記事を参考にして少し触ってみたけど、たしかに分かりやすい気がする。

#2 [windows] Quick Launch相当のフォルダをスタートメニューの中に入れてしまった

昔のWindowsには、Quick Launch(クイック起動)というフォルダがあって、タスクバーの隅っこのあたりに小さいアイコンをずらずらと並べることができていたのだけど。

_[FAQ番号:024381]Windows XP:クイック起動バーの利用方法|FAQ Search|エプソンダイレクト

しかし、どのあたりの Windows からそうなったのか忘れたけど、今時の Windows ―― Windows10 では、Quick Launch は無くなってしまった。 *1

ただ、自分の場合、「タスクバーにピン止めしておくほどではない」けれど「一応はアイコンをタスクバー上に小さくてもいいから表示しておきたい」といった扱いのアプリをたくさんインストールしてたりするので…。

そこで、MyQuickLaunch という名前で任意のフォルダを作成して、その中にアプリのショートカットファイルをごっそり入れて、タスクバー上に新規ツールバーとして登録することで、以前の Quick Launch と似たような状態にして使っていたりするわけで。

_Windows 10 タスクバーにクイック起動を表示する
_無くなったクイック起動をWindows 10で復活する方法 | パソ・コンシェルジュ

しかしこれだけでは、サブフォルダを作ってアプリをツリー状に分類はできるものの、階層の深いところに置いたショートカットまで辿り着くのが面倒で。そこで、Launchy というランチャーをインストールして、そのランチャーに、MyQuickLaunchフォルダも登録することで、呼び出しを簡単にしていたりもして。 *2

_Launchy: The Open Source Keystroke Launcher
_【便利ツール】Launchyのインストール方法と使い方を解説

Launchy を使えば、アプリ名の一部を打ち込むだけで即座に絞り込みができるので、これはこれで便利なのだけど…。ただ、Win + S で呼び出せる、検索欄に打ち込んで絞り込み検索ができるWindows10の機能とあまり違いはないような気もしてきて。

であれば、いっそ MyQuickLaunchフォルダをスタートメニューの中に移動してしまって、Win + S でも呼び出せるようにしたらどうだろうかと。

スタートメニューの実体が置いてある場所は…。全ユーザに共通するメニューと、ユーザ用のメニューがあるけど、とりあえずはユーザ用のメニューだけ扱えばいいかな…。以下が、実体が置いてある場所らしい。
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
or
%APPDATA%\Microsoft\Windows\Start Menu\Programs\

_Windows10のスタートメニューの実体がある場所と追加方法 - Sakura scope
_スタートメニューのショートカットの保存場所 | Windows 10

そんなわけで、上記のフォルダ内に、MyQuickLaunchフォルダを移動してしまった。とメモ。

ただ、この状態だと、SSDが突然死した時に、インストールしたアプリの痕跡も消えてしまう。ということで、SyncToy か FreeFileSync を使ってHDD内の任意のフォルダに、ミラーリングでバックアップを取るようにしておいた。とメモ。

PowerToys Runも気になるのだけど。 :

Win + S の検索欄への入力では、アプリ名の一部を打ち込むだけでは出てこなくて、先頭から一致する文字列を打ち込まないと出てこない点が結構不便なのだけど。うろ覚えは許さない、てなノリを感じる…。記憶力が怪しくなってきた老人に対して全然優しくない…。

PowerToys Run なら、そのあたりちょっと改善してるらしくて、なんだか気になるわけで。

_PowerToys Runの使い方 - PowerToys | Windowsパソコン 使えるツール&テクニック

ただ、メニューの呼び出しが Alt + Space なのが、ちょっと…。そのショートカットキーは、ウインドウのタイトルの左端のメニューを表示するのに使ってるやん…。そこを潰されると困る場面もあるのだけど…。

*1: 「Quick Launch は無くなった」と断言するのもビミョーなところで。フォルダは以前と同じ場所に残っているし、似たようなメニュー表示もできるのだけど、積極的にタスクバー上には出さないようになってる状態というか。
*2: Launchy の呼び出しは、Ctrl + Win + X に割り当ててある。Win + X でスタートボタンの右クリックメニューが出てくるので、その組み合わせにちょっと近い感じの割り当てにしてみたり。

#3 [windows] SVGファイルをアイコンにしたい

Windows10のデスクトップ上に、自作スクリプトのショートカットファイルをいくつか置いたので、それぞれアイコンを変えたいなと。どうせなら見た目で分かりやすいアイコンが欲しい。どこかで配布されてないものか。

ググってみたけど、.icoファイルそのものを公開しているサイトはなかなか見当たらず。ただ、SVGファイルの形でアイコン画像を配布してるサイトに遭遇した。Web上で勝手に配布等はできないだろうけどローカルで使う分には問題無さそうなライセンスのようにも見えたので、これを使わせてもらおうかと。

_Free vector icons - SVG, PSD, PNG, EPS & Icon Font - Thousands of free icons
_FLATICONの使い方・ライセンスなどをご紹介!無料でも利用できるフリーアイコン素材サイト

SVG を入手できたけど、コレを .ico にしないといけない。「svg ico 変換」でググってみたら以下のサービスに遭遇。

_SVG ICO 変換。オンライン フリー - Convertio
_Convertio - ファイルコンバーター

日本語がちょっと妙な感じのサービスだけど…。試しに使わせてもらって svg を ico に変換してみた。すんなり変換できた。ありがたや。

ただ、生成された .ico を、IcoFX Portable 1.6.4 Rev 3 で開いて確認してみたところ、マルチアイコンにはなってないようで。256x256,32bitカラーのアイコンが一つ入ってるだけっぽいなと…。

_IcoFX Portable (icon editor) | PortableApps.com

でもまあ、表示できてるから、いいか…。

マルチアイコンを作ってみたけど結果が今一つ。 :

せっかく IcoFX Portable をインストールしたので、ソレを使ってマルチアイコンを生成してみたけれど、結果が今一つで…。

Windows10 に 256x256 のアイコンのみを渡した場合と、IcoFX で数種類のサイズのアイコンを生成した場合では、小さいアイコンを表示した際、前者はクッキリ、後者はボケ気味になってしまう。

おそらく、Windows10 のアイコン画像縮小アルゴリズムと、IcoFX の画像縮小アルゴリズムが違うからそういう結果になるのだろうけど。アルゴリズムを指定しながら縮小してマルチアイコンを生成できるツールって無いのかな…。

2020/08/12(水) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

某所に行ってPCメンテナンス関係を作業。AM09:00-AM11:30まで作業。詳細はGRPでメモ。

自転車で行く予定だったけど、AM08:00頃からかなり強い雨が降り始めてしまって、某所の方の運転する車で送迎してもらうことに。

2020/08/13(木) [n年前の日記]

#1 [windows][ruby] Windows10上でRubyをインストール

ちょっとした作業をするためのRubyスクリプトを動かしたいので、Windows10 x64 2004上で Ruby をインストールすることにした。本当は Ruby なんてもう捨ててしまいたいのだけど、ちょっとしたスクリプトを書く時は Python や Perl に比べて若干微妙に楽なので、ついつい使ってしまう…。

今までは各種スクリプトの動作確認をするために、Ruby 1.8.7 / 1.9.3 / 2.0.0 / 2.1 / 2.2 / 2.3 / 2.4 / 2.5 / 2.6 をインストールしていたけれど。全てを常時使うわけでもないし、最低限のバージョンだけインストールしておくことにしようかなと…。ひとまず、以下をインストール。 それぞれ、以下にインストールした。
C:\Ruby\Ruby187p330mswin32\
C:\Ruby\Ruby26-x86\

以下、参考ページ。

_ActiveScriptRuby and Other packages
_RubyInstaller for Windows
_Windowsでrubyをはじめよう - Qiita
_Rubyの実行環境構築 on Windows - Qiita

DXRuby を簡単に動かすためには 32bit版(x86版)をインストールしないといけないので、今回は32bit版だけインストールした。x64版(64bit版)をインストールした場合は、自分で DXRuby をビルドしてバイナリを作らないといかんらしい…。また、Windows10 x64上で DXRuby を動かすためには、DirectX9 を別途インストールする必要があるそうで、そちらもインストールしておいた。

_DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法 - Qiita

バージョンが異なるRubyの切り替えには、uru もしくは pik を使うことにする。

_Windowsにuruを入れてrubyのバージョン管理をする - Qiita
_Rubyアソシエーション: 複数のRuby環境の構築
_Downloads - vertiginous/pik
_jonforums / uru / wiki / Downloads - Bitbucket

pik-0.2.8.msi と uru-0.8.5-windows-x86.7z を、以下にインストールしておいた。
C:\Ruby\Tools\pik\
C:\Ruby\Tools\uru\
この2つを、環境変数 PATH にも設定しておいた。

RUBYOPTがよくわからない。 :

Ruby 1.8.7 を動かそうとしたらエラーが出てしまってちょっと悩んだけれど、環境変数 RUBYOPT に -Eutf8 が指定されていたせいだった。どうやら Ruby 2.x 以降のどこかの時点で増えたコマンドラインオプションのようで、--encoding UTF-8 を指定して、デフォルトのエンコーディングは UTF-8 ということにしているらしい。

_ruby - illegal switch in RUBYOPT: -E (RuntimeError) - Stack Overflow

Ruby 1.8.7 にはそんなコマンドラインオプションは無いから、エラーが出てしまうのだな…。

とりあえず、環境変数 RUBYOPT は削除してしまったけれど、これはこれで何か問題が起きたりしないのだろうか…。

関連付けが上手くいかない。 :

Ruby 1.8.7 と 2.6.6 だけをインストールした状態にする前に、Ruby 2.5.8 や 2.6.6 x64版もインストール・アンインストールして試していたせいか、.rb への関連付けがおかしくなってしまった。Ruby 1.8.7 に関連付けされてるっぽいけどエクスプローラのプロパティでは不明なアプリと表示されてしまう。

レジストリを弄って対処。関連付けに関して最も優先順位が高いらしい、以下の項目を削除。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.rb

DOS窓(コマンドプロンプト)を管理者権限で開いて、assoc と ftype を指定する。
assoc .rb=Ruby26
ftype Ruby26="C:\Ruby\Ruby26-x86\bin\ruby.exe" "%1" %*

これで、DOS窓上で .rb をいきなり実行しても、Ruby 2.6.6 が呼ばれるようになった。

でもまあ、ruby hoge.rb と打ったほうが間違いないのだけど…。

#2 [windows] Canon MG3630を無線LAN接続するように設定した

某所でネットワークプリンタを新規導入することを検討中だけど、その際、1台のプリンタに対して複数のプリンタ設定を作れるかどうかが気になるわけで。そのあたりを事前に実験して、可能かどうかを試しておきたいなと。

親父さんが使ってるインクジェットプリンタ(複合機)、Canon MG3630 は無線LAN接続機能を持っているので、この際、USB接続から無線LAN接続に変更して、その手の実験をさせてもらおうと。

無線LAN接続への切り替えは、公式サイトで説明されているとおりにしていけばいいのだけど。

_【インクジェットプリンター】プリンターと無線LAN(Wi-Fi)ルーターをケーブルレスで接続する (PIXUS MG3630)
_【インクジェットプリンター】セットアップCDもしくは「セットアップ&マニュアル」サイトからソフトウェアをインストールする(無線LAN接続) -Windows- (PIXUS MG3630)
_キヤノン:公式マニュアル|ようこそ!

ウチの無線LANルータはMACアドレスフィルタリングを有効にしてあるので、すんなり接続できなくて。途中で表示されるMACアドレスを無線LANルータ側に登録したり、一時的にUSBケーブルをプリンタに接続してSSID云々を打ち込んで伝えたり等することで、無線LANルータに接続できる状態になった。

1台目のPCで操作して、無線LANルータとプリンタが接続されてしまえば、2台目のPC上でプリンタドライバ等をインストール際はすんなり処理が進んでくれた。

2020/08/14(金) [n年前の日記]

#1 [windows][hns] Windows10上でIISを有効化した

Windows10 x64 2004上で、IIS(Internet Information Services)を有効化した。IISというのは、Microsoft製のWebサーバ、という説明でいいのだろうか。

この日記ページがどんな見え方になるのかをローカルで確認するために使用。設定手順は以前メモしてあったので、それに従った。

_mieki256's diary - Windows10上のIISを設定していたり
_mieki256's diary - Windows10 + IIS上で日記ページのプレビューができるか試したり

本来ルートフォルダは、C:\inetpub\wwwroot\ になるけれど、今回は D:\inetpub\wwwroot\ にコピーして、そちらをルートフォルダとして設定しておいた。

hnsの記述が古くてちょっと困った。 :

今回、日記ページがすんなり表示できなくて悩んでしまった。cgi が動くと、「defined(@Array) や defined(%Hash) は非推奨やで」てな警告が真っ先に出力されてしまって、IISが「ちゃんとしたHTMLヘッダが返ってこないぞ」とエラーを出す。

Strawberry Perl 5.18.4.1-x64 を使うように設定していたのがアレだったらしい。Perl 5.16 から、defined(@Array)、defined(%Hash) は使わないことになってしまったのだとか。単に、「(@Array)」「(%Hash)」と書けば同じ意味として動作するそうで。以前は ActivePerl 5.8.9 build 827 を使っていたから警告が出なかったのだな…。

_jcode.plでdefined(%hash) is deprecated at ../perllib/jcode.pl line 684.のエラー: アイスポテト - C#|Tex|Perl|東京凰籃学院
_警告 "defined(@array) is deprecated" を解消する - Issue #1 - issm/Hoya
_perldiag - various Perl diagnostics - metacpan.org
_Perlの組み込み関数 defined の翻訳 - perldoc.jp
_サーバーでの主要ソフトウェア更新作業後のFAQ - アイネットディー

仕方ないので、とりあえず hns の *.pm 内の該当箇所を書き直してみた。警告が出なくなって動くようになった。

Perlには、昔の仕様で動かすための環境変数等があったりはしないのだろうか…。

画像サイズが取得できない。 :

ローカルのHDD内では、日記ページ中で表示される画像が入ったフォルダだけがちょっと離れた場所に置いてあるので、IISマネージャ上で仮想ディレクトリとして追加してみたのだけど、そのせいか画像サイズが取得できず、元画像のサイズそのままで表示される奇妙な状態になってしまった。

仮想ディレクトリではなくて、Windows10 のシンボリックリンクで、画像フォルダがそこにあるように見せかけてみた。この設定なら画像サイズが取得できた。

参考ページ。 :


2020/08/15() [n年前の日記]

#1 [perl] Perlについて勉強中

Windows10 x64 2004 + IIS上で、Perlで書かれたCGIを動かせるように設定したついでに、今時のPerlについて少し勉強中。

Perlと言えば後方互換性を重視している言語と思い込んでいたのだけど、バージョンが上がるにつれて結構仕様が変わっていて、昔書かれたスクリプトが動かない状態になっていたりするようで。

先日引っ掛かった defined(@array)、defined(%hash) もソレで。Perl 5.16の頃は警告を出していたけれど、Perl 5.22 では致命的エラーとして扱われるようになったらしい。それぞれ、(@array)、(%hash) と書き直せばいいらしいけど。

@INC に「.」が含まれなくなったあたりも結構大きい。Perl 5.26 で変わったらしいけど。

_第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社
_第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社
_Perl 5.26への@INC問題にアップグレード前に対処しておきましょう - Perlゼミ
_'.' in @INC問題とその対処法について(2017年3月版) - Charsbar::Note

Strawberry Perl 5.30.3.1-x64-portable で、この日記ページのCGI(hns)を動かしてみたら、見事にエラーが出てしまった。とりあえず、エラーの出た .cgi の先頭に、解説記事にあった以下の記述を追加して動くように誤魔化してみたり。
BEGIN { push @INC, "." if $INC[-1] ne "."; }

Perlも変わっているのだな…。

2020/08/16() [n年前の日記]

#1 [gimp][windows] GIMP 2.10.21 samj版をWindows10にインストール

Windows10 x64 2004 日本語版に、GIMP 2.10.21 Portable samj版をインストールしてみた。

64bit版は見た感じ問題なく動いたのだけど、32bit版で不具合が。入力欄に英数字を打ち込むと半角カタカナになってしまう。これはアレだな…。以前も発生していたGTK+のバグ…。Windows + 32bit版 GTK+ でのみ発生しちゃうバグだ…。英語圏では発生しないっぽいバグだ…。

_mieki256's diary - GIMP 2.10 Windows版の入力欄のバグが取れたと一瞬思ったらまたバグり始めた
_mieki256's diary - GIMP 2.10.12 Portable samj版を試用

OSを再起動したり、GIMP 32bit版を再起動したら状態が変わるかなと試してみたけど変化無し。

PortableApps.com で配布されてる GIMP Portable が 20.10.18 のままなのは、ひょっとしてこのせいだろうか。GIMP Portable は32bit版だから、2.10.20 にするとこの不具合が出てしまうのでバージョンを上げられないのかも。

#2 [windows][ubuntu] WSL2をインストールしてみた

せっかく Windows10 x64 2004 を使っていることだし、WSL2 をインストールしてみた。

以下の参考ページのとおりに作業していくだけで、比較的すんなり入ってくれた。

_Windows Subsystem for Linux (WSL) を Windows 10 にインストールする | Microsoft Docs
_WSL 2 Linux カーネルの更新 | Microsoft Docs
_WSL 2 のインストール,Ubuntu 20.04, 18.04 のインストールと利用
_Windows Subsystem for Linux 2(WSL 2)をセットアップしてみた | Developers.IO
_WSL2導入|WinアップデートからWSL2を既定にするまでのスクショ - Qiita
_WSL2の初歩メモ - Qiita
_WSL2初期設定等|Natsuki Nomizo (野溝 夏生)|note
_【Windows10/WSL2 Ubuntu 20.04 LTS】日本語表示とロケール変更 | The modern stone age.
_WSL2のUbuntu 20.04を日本語化する - Qiita

WSL 2 を既定のバージョンとして設定する際にエラーが出たけど、Linux カーネル更新プログラムパッケージをインストールしてから作業したらエラーが出なくなった。

Windows Terminal を設定。 :

Ubuntu 20.04 LTS のアイコンをクリックするとターミナル?が起動して使えるようになるのだけど、どうも色が気に入らない。文字色によっては暗すぎて文字が読めない…。

Windows Terminal ならカラーテーマ? Color Scheme? を設定できるので、そちらを使うことにした。

設定ファイルを開いてみたら、どの時点から存在していたのか分からないけれど、Ubuntu-20.04 という設定が既に作られていた。以下の2項目を設定に追加。色の設定と、起動時の初期フォルダを指定している。
                "colorScheme": "Tango Dark",
                "startingDirectory": "//wsl$/Ubuntu-20.04/home/%USERNAME%"

MobaXtermもインストール。 :

MobaXterm Home 20.3 もインストールした。

_MobaXtermによるCADツールの利用
_MobaXterm を ssh/mosh/X11 クライアントとして使う(Windows) - Qiita
_リモート接続ソフト MobaXterm Personal 版のインストール(Windows 上) 
_軽量多機能なUNIXライク環境 MobaXterm - Qiita

以前の自分の環境では Portable版をインストールしてたようだけど、今回は Installer版をインストールしてみた。WSL2をインストールした後で MobaXterm をインストールしたら、最初から WSL-Ubuntu というセッション設定が用意されていた。ありがたや。

X11アプリも使ってみたいので、Plugin を ―― X11Fonts.mxt3 をDLして、MobaXterm.exe と同じ階層に置いておいた。

GUI関係のパッケージをインストール。 :

当初は以下でインストールしたのだけど。
sudo apt install libgl1-mesa-dev xorg-dev

MobaXterm でX11アプリが起動しなかったので、勢い余って以下をインストールしてしまった。たぶん入れ過ぎな予感。
sudo apt install ubuntu-desktop openssh-server net-tools

X11アプリが起動してくれない。 :

WSL2 + MobaXterm でX11アプリを起動しようとしたら DISPLAY が開けないと言ってきた。

MobaXterm の Settings → X11 → X11 remote access を full にして、~/.bashrc には以下を追加したのだけどな…。
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
$ export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
$ echo $DISPLAY
172.18.16.1:0.0

ふと、MobaXterm ウインドウの右上の X-Windowっぽいアイコンが気になって、マウスカーソルを合わせてみたら、192.168.x.x:0.0 というIPアドレスが表示された。というか、WSL_Ubuntu セッションで起動した際に、「お前の DISPLAY に 192.168.x.x:0.0 を設定せよ」と表示されていた…。

試しに、DISPLAY を、そのIPアドレスにしてみたり。
$ export DISPLAY=192.168.x.x:0.0
$ xeyes
この状態だと、X11アプリが起動する。

一々設定し直すのは面倒だな…。

VcXsrvもインストールしてみた。 :

vcxsrv-64.1.20.8.1.installer.exe をDLしてインストールしてみた。

こちらも、DISPLAY を 192.168.x.x:0.0 にしないとX11アプリが起動しなかったけど、Windows10のファイアウォールで VcXsrv windows xserver のあたりを変更したら、DISPLAY=172.18.x.x:0.0 でも動いてくれた。

VcXsrv windows xserver は2つあって…。
  • 一つはプライベートにチェックが入っていて有効状態。
  • もう一つはパブリックにチェックが入ってるけど無効状態。
後者を有効にしたら動作してくれた。

以下、参考ページ。
_Can't use X-Server in WSL 2 - Issue #4106 - microsoft/WSL
_WSL2のX-ServerでGUI表示する際に「export DISPLAY=:0.0」が効かない - レガシー環境から脱却したい

#3 [windows] PowerShell 7.0.3をインストールしてみた

Windows10 x64 2004 + Windows Terminal で PowerShell を起動すると、以下のメッセージが表示されるあたりが気になった。
新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

$PSVersionTable とやらで、バージョンが確認できるらしい。
> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

今時は PowerShell 7.0.3 が公開されているようで。

_PowerShell/PowerShell: PowerShell for every system!

ただ、ここで公開されているのは、PowerShellCore なるものらしい。とりあえず試しにインストール。

インストール後、Windows Terminal上で PowerShell を起動しても、相変わらず同じメッセージが表示される。

よく見たら、選べる項目が増えていた。今まで選んでいたのは「Windows PowerShell」だったけど、一番最後に「PowerShell」が追加されている。そちらを選んだら、件のメッセージが表示されなくなった。

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

たしかに新バージョンをインストールできたっぽい。PSEdition も、Desktop から Core になってる。

2020/08/17(月) [n年前の日記]

#1 [windows] WSL2をアンインストールした

Windows10 x64 2004上でWSL2 + Ubunru 20.04 LTS をインストールして動作確認していたのだけど、VMware Workstation Player 15.5.6 build 16341506 と共存しようとすると VMware側の動作がダメな感じになるので、WSL2 をアンインストールしてしまった。

アンインストール手順は、Ubuntu 20.04 LTS をアンインストールしてから、Hyper-V等、WSL2 を動かすために有効にした Windowsの機能を無効にする。…これでアンインストールできてるのかな。自信無し。

WSL2 と VMware との共存自体はできる模様。WSL2 を動かせる状態にした後で VMware Player をインストールすれば、インストーラがWSL2 を動かすための状態になってることを検知して問い合わせダイアログが表示されるので、それに従っていけばいい。また、ゲストOSのプロセッサ設定で、「Intel VT-x/EPTまたはAMD-V/RVIを仮想化」のチェックを外す。このチェックを外さないと、エラーが出て起動しない。

しかし、共存はできたものの、VMware上のゲストOSの動作が目に見えて遅くなってしまって…。Linux はともかく、Windows XP の動作が酷い。画面がベロンベロンと書き換えられていく様子が分かってしまう。そのくらい遅い。

Windows上で比較的シームレスに Linux が動く WSL2 は実に魅力的なのだけど…。残念。

#2 [windows] VirtualBoxとVagrantをインストールした

Windows10 x64 2004上に、VirtualBox 6.1.12 139181 と Vagrant 2.2.9 x64 をインストールした。

少し触ってみたけれど、どちらも動いてるっぽい。VirtualBox と Vagrant は、バージョンの組み合わせによっては動かなかったりするのだけど、今回インストールしたバージョンの組み合わせなら一応動くっぽいなと…。もしかすると細かいところで不整合があったりするかもだけど。

vagrant-global-status は不要っぽい。 :

今までは vagrant-global-status というプラグインもインストールしていたのだけど、改めてググってみたら、Vagrant 本体に global-status というコマンドが追加されていて、それを使えば同じことができるらしいと知った。vagrant-global-status はメンテナンスされてないのでインストール不要らしい。とメモ。

結局、インストールしたのは以下の3つ。
vagrant plugin install vagrant-hostmanager
vagrant plugin install vagrant-share
vagrant plugin install vagrant-vbguest
> vagrant plugin list
vagrant-hostmanager (1.8.9, global)
vagrant-share (1.1.11, global)
vagrant-vbguest (0.24.0, global)
  • vagrant-hostmanager : hostsファイルを書き換えるプラグイン。
  • vagrant-share : HTTP共有、SSH共有等を行う。
  • vagrant-vbguest : VirtualBox Guest Additionsを自動更新してくれる。

2020/08/18(火) [n年前の日記]

#1 [windows] Windows10の自動ログインを有効にした

今までは Windows10 上でPINコードを打ち込んでログイン(サインイン)する状態で使ってたのだけど。自分一人しか使ってないPCなのに毎回打ち込むのは面倒臭いなと思えてきて、この際電源投入したら自動ログインするようにしてしまおうかと。

自動ログインを可能にするには…。以前は netplwiz を起動してユーザを選んでから、「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」のチェックを外して「適用」をクリックすれば設定できたのだけど。Windows10 x64 2004 をクリーンインストールした環境のせいか、該当項目が出てこなくて悩んでしまった。

以下の記事で、レジストリを変更して該当項目を表示させる方法があると知った。

_Windows 10 自動ログイン 起動時のパスワード入力を省略-パソブル
_Windows 10 [netplwiz]自動ログインの設定が表示されない時の対処法-パソブル
_Windows 10 バージョン2004から消えた(?)自動ログオン構成オプションあり/なしの怪:その知識、ホントに正しい? Windowsにまつわる都市伝説(162) - @IT

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device
DevicePasswordLessBuildVersion を 0 にすればいいらしい。

Windows10 2004 にアップグレードした環境なら件の項目が表示されるけど、クリーンインストールした環境では出てこないらしい…。

#2 [windows][linux] MSYS2をインストールした

Windows10 x64 2004上にWSL2をインストールしたものの、VMware Player等の動作速度が遅くなって、WSL2をアンインストールしてしまったけれど。やはり *NIX っぽい環境が欲しい気分になってきたのでMSYS2をインストール。

msys2-x86_64-20200720.exe をDLして、C:\msys64\ にインストールした。MSYS2 MinGW 64bit をクリックすると mintty が起動する。pacman -Syu と打ってパッケージを更新した後、gccその他をインストール。
pacman -S base-devel
pacman -S msys2-devel
pacman -S mingw-w64-i686-toolchain
pacman -S mingw-w64-x86_64-toolchain
pacman -S vim

CUIで使えるファイラー Ranger もインストールした。 :

Python で実装されているファイラー、Ranger もインストールした。
pacman -S python3 python3-pip
pip install ranger-fm
ranger と打てば起動する。

以下を打って設定ファイルを作成。
ranger --copy-config=all
~/.config/ranger/ 以下に設定ファイルが保存される。

ranger は画像表示もできるけど、一般的には w3m, w3m-img が必要だそうで。しかし、MSYS2 に w3m-img は用意されてない。ただ、mintty は iterm2互換の画像表示機能を持っているという話を見かけた。

_ターミナルで使えるファイラrangerを使ってみる - Qiita

~/.config/ranger/rc.conf 内で以下を設定したら、MSYS2 + mintty で画像表示ができた。素晴らしい。
set preview_images true
set preview_images_method iterm2
set draw_borders true

ranger_mintty_msys2_ss01.png

#3 [pc][neta] ワンコインPCケースってどうだろう

妄想メモ。

ワンコインPCケースってどうだろうか。ワンコイン=500円で買えるPCケース。ダイソーに500円商品として置ける感じの品。

新品のPCケースは3,000円ぐらいからあるのだけど、それを500円から始まる状態にするなんてフツーに考えたら無理。なので、世に出てきたら結構話題になるのではないか…。

しかし、既存のPCケースのノリでフツーに作ったらそんな値段で売れるわけがないので、材料も形状も工夫しないといけない。

まず、一般的なPCケースのように、鉄製・スチール製は無理だろう。外側はプラスチック、それもポリプロピレン製、みたいな。100円ショップで売られてる書類ケースだのタッパーだのが大きくなった感じで。せめて MicroATX M/B が入る程度のサイズだと嬉しい。

金属パーツ、ケーブル、LED等は、取り付けられてない。そんなものを一々つけてたら製造工程の手間が増えてしまってワンコインで売れなくなる。ビニール袋に必要なものは全部入れといて、別売りにするか、ケース内側にビニール袋ごとセロハンテープで貼っておくか、あるいは「お客さんが自分で入手してなんとかしてね」で済ませる。安物PCケースのレビュー等でたまに見かける、「取り付け精度が甘い」みたいな話はなくなる。取り付けるのは買ったお客さん自身だから。

形も、一般的なタワー型は難しいはず。ポリプロピレンだから、M/Bを縦にして固定したらM/Bの重みだの各パーツの発熱だのでケース全体がひしゃげてしまう。昔のビデオデッキのように横置き型にするか、キューブ型にする。M/Bや電源等は「置く」「積み重ねる」状態を基本にして固定していく。

横置き型やキューブ型では店頭で場所を取って嫌われるだろう。なので、組み立て式にする。100円ショップで、組み立てると箱になる、段ボール製の箱が売られてたりするけど、あんな感じ。大きいビニール袋に板が6枚入ってて、噛み合わせていくと箱になる。

もしくは、PCケース以外にも使えることを売りにすれば、多少場所をとっても大目に見てもらえるかもしれない…。コミック本が何冊入りますよ、とか、CDが何枚入りますよ、とか。そうなれば、自作PCを趣味にしていない人達の間でも、「アレは工夫次第で使い道がある隠れた名品」と評価されるかもしれず。

というわけで、「ありゃりゃ…」「ワンコインでは、そりゃこうなるわな…」「安かろう悪かろうの典型例じゃねえか」「これで1台組むのは無謀」と思われそうなPCケースが登場…。それでも、段ボール製PCケースよりは実用性があるのではと思えるのだけど。

おそらく、ダイソーの店頭で見かけて、試しに一つ買ってみたら意外と使えそうで、これは2〜3個予備で買っておくかとダイソーに行ったらもう売り切れちゃっててしかも入荷の予定無し、てな商品になりそう。などと夢想。

2020/08/19(水) [n年前の日記]

#1 [windows] MSYS2のminttyを少し触ってた

MSYS2 の mintty の設定を少し変更して弄ってた。環境は Windows10 x64 2004。mintty のバージョンは 3.3.0 x86_64。

mintty の画面上で右クリック、もしくは、タイトルバー上の左端のアイコンを右クリックするとメニューが出てきてオプションを選べるのだけど、そのオプションでカラーテーマを変更できるようで。どうやって増やせるのか調べたら、~/.mintty/themes/ というフォルダを作って、その中にカラーテーマ設定 (.mintty) を置いてやればいいらしい。

_git-bash (mintty) の color theme | | 1Q77
_minttyとlsの色設定をSolarizedに - naktatty64のブログ
_Mintty Themes for Windows
_iamthad/base16-mintty: Base16 for MinTTY
_oumu/mintty-color-schemes: Some color schemes for MinTTY

最初、~/.mintty/themes/ ではなくて、~/.mintty/theme/ を作ってしまって、その中に各ファイルを入れて「反映されないなあ」と悩んでた…。解説記事内のtypoに、してやられた…。

#2 [windwos][linux] img2sixelを試用

端末(?)上で画像を表示するための、Sixel Graphics なる画像フォーマットだか規格だかがあるそうで。

_Sixel Graphicsを活用したアプリケーションの御紹介 - Qiita

MSYS2 に同梱されてる mintty も対応してるらしいので試してみた。

MSYS2自体には、画像を sixel に変換する img2sixel (libsixel) が用意されてないらしいので、VMware Player上で Ubuntu Linux 20.04 LTS を起動して、そちらで関連ツールをインストールして実験した。
sudo apt install libsixel1 libsixel-bin

MSYS2 + mintty から、VMware Player上の Ubuntu に、ssh でアクセス。
ssh UbuntuのIPアドレス

Ubuntu Linux内の適当な画像を、img2sixel で変換。
img2sixel hoge.png

sixel_on_mintty_ss01.png

mintty上に画像が表示された。凄い。本当に表示されてしまった。

もっとも、この場合、VMware Player上で Ubuntu + Xubuntu-desktop が動いてるから、そっちで画像を表示すればええやんけ状態なので、有難みは無い…。

#3 [nitijyou] 首が痛い

首なのか肩なのか背骨なのか分らんけど、なんだかそのへんが痛い。寝ていて目が覚めたら痛みがあって。これが寝違えた状態、なのだろうか…。どうも姿勢によって痛みが走るというか、体を動かした何かの拍子にグワーッとした感じの痛みが。困った。

2020/08/20(木) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

電動自転車で某所まで。PM01:00-PM06:45まで、EPSON製プリンタ・インクジェット複合機 PX-M6711FT のセットアップ作業。詳細はGRPでメモ。

EPSONの公式サイトにちょっと怒り(?)を感じてしまったり。プリンタ・複合機の仕様表の中で、対応OSとして Windows XP の記述があるのはいいのだけど、SP3以降にしか対応してないならその旨記述しておいてほしい…。某所の XP は SP2 だったものだから、ドライバのセットアップCDを入れて実行したところ「てめえは対応してないOSだ」と言われて一気に絶望的な気分に。XP対応って書いてあったから10万円以上もする機器を購入したのになんじゃそりゃあ! と…。フツーは「Windows XP」の直後に「*19」とか「*23」とかつけて「*19 SP3以降に対応」みたいなソレを下のほうで書くもんだろ…。

Microsoft の公式サイトにもちょっと怒り(?)を感じたり。サポート終了してるとはいえ、XP SP3 のインストールプログラムぐらい置いといてくれたってええやろ…。何でわざわざ消すの…。インターネットに繋がってないXP機だから Windows Update は使えない。別PCでDLしてUSBメモリで持って行って当てなきゃいかんのに、そもそもどこにあるの…。

2020/08/21(金) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

電動自転車で某所まで。AM09:00-PM01:00まで作業。インクジェット複合機 EPSON PX-M6711FT を、インターネットに接続されてないLANに参加させる作業。詳細はGRPでメモ。

その後、別の某所に行く予定だったけど、あまりの暑さにこれはちょっと無理だなと…。一旦自宅に戻って少し休んでから、と思っていたけど、戻った頃にはとても再外出できる体調ではなく…。ちなみに、部屋の温度は38度になっていた。

2020/08/22() [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、15:40-18:50の間、自宅サーバを止めてました。申し訳ないです。

ちょっと早いけど雨が降りそうだから犬の散歩に、と思って玄関を出たあたりで大粒の雨が降ってきてそこから滝のような豪雨に。光ると同時に「バチッ」という音が鳴る雷が何度も落ちて、これは以前、雷で色んな電子機器・家電が破壊された際と同レベルのヤツがまた落ちるのかなと、かなりヒヤヒヤ…。

#2 [nitijyou] 某所に行ってきた

電動自転車で、いつもと違う某所に行ってきた。AM09:40-AM09:50まで作業、だった気がする。PCから印刷できないという不具合相談と、キーボードからアルファベット大文字が打ち込めないという不具合相談。詳細はGRPでメモ。

#3 [nitijyou] Seriaで色々購入

某所から帰宅する際に Seria に寄って色々購入。どこかしらに引っ掛けられるタイプのタオル掛けを2種類。シリコン製折り畳みコップを1つ。ペットボトルに装着できるコップを1つ。

タオル掛けは、台所の椅子の背もたれに取り付けてみた。ちゃんと装着できた。助かった。今までは椅子の背もたれにタオルをぶら下げてたけど、見た目がちょっとアレだったわけで…。今回のアイテム追加で結構いい感じに。

コップ類は、某所に出向く時に使えないかと。今の時期、飲み物を持って行かないと熱中症になりそうだけど、ペットボトルに直接口をつけて飲んでしまうと中で細菌が繁殖してしまうわけで…。コップを使えば多少は改善できるはず。もっとも、使用後に洗って乾かさないと持ち帰ることができない予感。

折り畳んで運べる紙コップがあれば、使用後にそのまま捨ててしまえるので良さそうなのだけど、残念ながら店頭では見かけなかった。

2020/08/23() [n年前の日記]

#1 [nitijyou] 家電店を回ってきた

動作確認用にシンプルなUSB接続キーボードが一つぐらいは欲しいような気がしてきたので、電動自転車でヤマダ電機とケーズデンキを回ってきた。

ヤマダ電機の店頭でキーボードを眺めて、これを買おうかどうしようかと悩んだけれど、ケーズデンキで同じ品がもっと安く売られたらショックだなと思えてきて結局買わず。

しかし、ケーズデンキに寄って店頭を眺めたら、圧倒的に品数が少ないし、ヤマダ電機と違って新商品はほとんど置いてないし、更に値段もヤマダ電機より数割高くて。これならヤマダ電機で買っておけば良かった…しかしこの炎天下で、今からヤマダ電機まで戻る体力は無い…。命に係わる…。

てな感じで、結局何も買わずに帰ってきた。何のために外出したんだか…。いや、ヤマダ電機の近くのダイソーで、300円のBluetoothリモコンを購入できたから、それだけでも良しとしよう…。近所のダイソーには無かったので助かった。

余談。ヤマダ電機まで電動自転車では何分ぐらいで行けるのか測ってみたら、警察署前を通るルートなら20分ぐらいだった。今までは未来大橋のある道をまっすぐ走って行ってたけど、Googleマップで調べてみたら遠回りだったらしい…。

#2 [pc] キーボードがベタベタ状態になっていた

PCの動作確認作業用に、何かしらのUSB接続キーボードが必要になりそうで。

そこで、後生大事に(?)箱にしまってあった Microsoft Wireless Keyboard 3000 v2.0 を数年ぶりに箱から出してみたのだけど。キーボード手前に伸びているパームレスト? が加水分解でベタベタのグチョグチョ状態になっていて「うわああああ」な気分に。

どうしてこの手の製品は、ラバーなのかウレタンなのか分からんけどソレ系のアレを貼ってしまうのだろうなあ…。やめてほしい…。どんなにイイ感じの形状でもそのうちベタベタになってしまうやんけ…。

さておき。ウェットティッシュで拭いてみるもベタベタがさらに引き伸ばされるだけで、コレって接着剤でも塗りまくったのですか、てな悲惨な状態に。

ググってみたら、加水分解したソレは無水エタノールで拭くと改善される時もあるそうで。

無水エタノールは持ってないけど、消毒用エタノールなら少しだけ手元にあったので、ウェットティッシュに染み込ませて拭いてみたところ、ベタベタがみるみる落ちてくれた。助かった。

ただ、拭きとった後のソレは、ムラになって見た目が汚くて。触った感触も、なんだかパカパカになった気がする。「ラバー? 何ソレ?」状態。

でもまあ、一応使えなくもない状態にはなったから、良しとしよう…。ベタベタ状態よりはマシだよな…。

ワイヤレス製品は受信機の収納場所が欲しいなと。 :

この製品って、受信機をキーボード裏面等に収納できないのだな…。

こんなに巨大なのだから、収納場所ぐらい余裕で確保できただろうに、なぜつけなかったのだろう。アレかな。「ここまで巨大なキーボードをモバイル用途で使うはずないだろ」「モバイル製品ではないのだから受信機の収納場所なんて要らん」と思ってこういう設計にしたのかな。

違うんだよなあ…。ワイヤレス製品は受信機が無ければゴミになってしまうので、どこかにしまい込んだり、あるいは設置場所を変えたりする際に、受信機とセットで片づけることを心掛ける羽目になるわけで。そんな時、本体に受信機を収納できれば生き別れになりづらいから安心。つまりモバイル云々は関係ないのだよな…。 *1

*1: 結局、設計した人達が自分で使っていないから、そんなことすら分からんのだろうなと…。おそらく、設計したり、最終デザインを選んでいる人達って、職場のPCに最初から付属していた、極限までコストダウンされている有線キーボードを不満も持たずにずっと使ってます、みたいな人種なんだろう…。ってそれは当たり前か。自分で勝手にキーボードを交換できちゃう職場のほうが珍しいわな。大昔のビルゲイツのように、社員にドッグフードを食えと強要する上司が本来は必要なのではないか。たぶん。

2020/08/24(月) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

電動自転車で某所まで。Excel上で、キーボードからアルファベット大文字を入力できないという不具合相談。AM10:06-AM11:00頃まで作業。詳細はGRPでメモ。

原因はおそらくキーボードの故障。Excelだけではなくメモ帳でも同じ症状が出たし、持っていった別のキーボードを接続したらそちらではすんなり大文字が入力できたので、アプリやOSの問題ではなくハードウェアの問題だろうと。ケーズデンキで新品のキーボードを購入してもらって問題解決。

#2 [pc] キーボードのベタベタが取れない

昨日、Microsoft Wireless Keyboard 3000 v2.0 の加水分解によるベタベタを消毒用エタノールで拭きとったつもりだったけど。客先(?)まで持っていって、箱から出して使おうとしたら、一部がまたベタベタ状態になっていた。この個体は、もうダメかもしれん…。

重曹をお湯で溶かして半日ほど患部(?)に貼り付けておけば改善できるという話も見かけたけれど、そこまでするのも面倒臭い…。

#3 [raspberrypi] Raspberry Pi Zero Wを久々に起動

先日ダイソーで Bluetoothリモコンを購入したので動作確認をしたいなと。しかし手元のPCでBluetooth機能を持っているPCというと Raspberry Pi ぐらいしかない…。

というわけで、埃をかぶっていた Raspberry Pi Zero W を久々に起動。

随分と長い間、電源を入れてなかったので、sudo apt upgrade が、2時間経っても終わらない…。

2020/08/25(火) [n年前の日記]

#1 [raspberrypi] BluetoothリモコンをRaspberry Pi Zero Wで認識させてみた

先日ダイソーで購入した、300円のBluetoothリモコンを、Raspberry Pi Zero W + Raspbian buster で認識させてみた。

事例については、ググれば結構出てくる。ありがたや。

_わずか300円でIoTボタンを作る方法 - Qiita
_raspberry pi と AB Shutter3(bluetoothボタン) の連携 - フクロウ好きなエンジニアのブログ

必要なパッケージをインストール。
sudo apt-get install bluez bluetooth libbluetooth-dev build-essential

認識させる。
$ bluetoothctl
Agent registered

[bluetooth]# power on
Changing power on succeeded

[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:93:58:00 Discovering: yes
[NEW] Device FF:FF:3F:FD:D8:F0 AB Shutter3
[NEW] Device 7B:65:7B:24:9F:CE 7B-65-7B-24-9F-CE

[bluetooth]# info FF:FF:3F:FD:D8:F0
Device FF:FF:3F:FD:D8:F0 (public)
        Name: AB Shutter3
        Alias: AB Shutter3
        Appearance: 0x03c1
        Icon: input-keyboard
        Paired: no
        Trusted: no
        Blocked: no
        Connected: no
        LegacyPairing: no
        UUID: Human Interface Device    (00001812-0000-1000-8000-00805f9b34fb)
        RSSI: -60

[bluetooth]# pair FF:FF:3F:FD:D8:F0
...
Pairing successful

[AB Shutter3       ]# trust FF:FF:3F:FD:D8:F0

# quit

Rubyとbluebuttonパッケージをインストール。
sudo apt install ruby
sudo gem install bluebutton

設定ファイルを作成。
vi ~/.config/bluebutton
keyup=echo UP
keydown=echo DOWN
longup=echo LONG UP
longdown=echo LONG DOWN

bluebutton を実行して監視させる。
bluebutton -d="Shutter3" -c ~/.config/bluebutton
終了させる方法が分からんけど、Ctrl + C でいいのかな。

リモコン側のボタンを押すと、DOWN と UP が表示される。認識できてるっぽい。しかし、longup, longdown が拾えていない…。

sudo apt install evtest をしてから sudo evtest を実行してイベントの取得状態を確認してみたけど、よくわからん…。

再度ペアリングをしてみた。
$ bluetoothctl

disconnect FF:FF:3F:FD:D8:F0
remove FF:FF:3F:FD:D8:F0
scan on
pair  FF:FF:3F:FD:D8:F0
trust  FF:FF:3F:FD:D8:F0
quit
ちゃんと長押しが反映されるようになった。

ところが、今度は iosボタンが効かなくなった。Androidボタンしか反映されない。でもまあ、片方だけでもボタンを認識できてるから、なんとかなるか…。

現在時刻をファイルに記録したい。 :

現在時刻をファイルに記録するシェルスクリプトを書いて、Bluetoothリモコンのボタンを押したら呼ばれるようにしたい。

vi ~/savetimenow.sh
#!/bin/sh
date +"%Y/%m/%d %H:%M:%S" >> hoge.txt
chmod +x ~/savetimenow.sh
./savetimenow.sh

ファイルに書き込まれてるかどうかの確認には less が使えるらしい。
less hoge.txt
大文字のFキーを叩けば監視表示モードになる。Ctrl + C でモードを抜ける。

_[Linux]「tail -f」での監視はもう古い!?超絶便利なlessコマンド - Qiita

ブラウザから確認できるようにしたい。 :

時間を記録したファイルを、他のPCからWebブラウザ経由で確認できるようにしたい。

とりあえず、lighttpd というWebサーバをインストールしてみようかなと…。

2020/08/26(水) [n年前の日記]

#1 [windows] Adobe Bracketsをインストールした

HTMLとCSSを書かなきゃいけないので、Windows10 x64 2004上で Adobe Brackets 1.14.2 をインストールした。HTML や CSS を書くことに特化してる感じのエディタ、という説明でいいのだろうか。

_Brackets - Web デザインを認識する最新のオープンソースコードエディター

プラグイン(拡張機能)もインストール。

_Brackets初心者がまずインストールするべき基本プラグイン10選 | それからデザイン スタッフブログ
_Web制作が爆捗するBracketsプラグイン13選&便利なプラグインを探すコツ - @IT
_【個人メモ】Bracketsにいれる拡張機能・テーマ・参考リソースなど - Qiita

以下のプラグインを入れた…と思う。

2020/08/27(木) [n年前の日記]

#1 [windows] Adobe Bracketsの設定を見直し中

昨日 Adobe Brackets をインストールして使ってみたものの、F12キーを押して開発者コンソールを開いて Console を眺めたら、ショートカットキーが衝突しまくりで…。プラグイン(拡張機能)を入れ過ぎたかも…。

Brackets Outline List はアンインストール。アウトライン表示をしてくれる拡張だけど、普段は使わないだろう…。たぶん。

タブ表示ができる Documents Toolbar はアンインストール。代わりに Custom Work をインストール。これもタブ表示ができる。

Custom Workにはファイルアイコンを表示する機能があるので、Brackets Icons、もしくは、Brackets File Icons もアンインストール。

Brackets Css Color Preview をインストール。CSSで色を指定してる行に、小さな四角で実際の色を表示してくれる。

Brackets Markdown Preview もインストール。Markdown をプレビュー表示できる。

キー割り当てを変更。 :

Display Shortcuts をインストールして、Ctrl-ALt-/ でショートカットキーの一覧を表示。どのキーに何が割り当てられているか確認。

Brackets Key Remapper を入れてショートカットキーを変更。
  • Brackets本体の "navigate.gotoDefinitionInProject" に "Ctrl-Shift-T" が割り当てられてるので "Ctrl-Alt-T" に変更。
  • Emmet の "io.emmet.matching_pair" に "Ctrl-Shift-T" を割り当て。
  • HTML Block Select の "htmlblockselector.select" に "Ctrl-Alt-D" を割り当て。

しかし、Brackets Key Remapper を入れると、起動するたびにショートカットキー割り当てに関して大量のエラーが出てくる。アンインストールして、環境設定ファイル (brackets.json) から、関連部分を削除した。

代わりに、ユーザーキーマップ(keymap.json)を開いて、以下の内容にした。おそらくこの設定に従って、起動処理の最後にキー割り当てを上書きしてくれるのだろう。たぶん。
{
    "documentation": "https://github.com/adobe/brackets/wiki/User-Key-Bindings",
    "overrides": {
        "Ctrl-Alt-T": "navigate.gotoDefinitionInProject",
        "Ctrl-Shift-T": "io.emmet.matching_pair",
        "Ctrl-Alt-D": "htmlblockselector.select"
    }
}

#2 [prog] cgiの書き方を勉強中

Perl CGIの書き方を勉強中。

HTML::Template というモジュールを使ってみて、これは便利だなと。テンプレートhtmlの中の任意の部分をPerlの処理結果で置き換えて出力することができるので、Adobe Brackets で HTML や CSS を書いて見た目を調整する作業がしやすい。

cgiにパラメータを渡す部分がよくわからず。URLの後ろに「?clear」とつけただけではダメなのか…? Windows10 x64 2004 + IIS + Strawberry Perl なら、$ARGV[] で取得できて判別できたのだけど、raspberry Pi Zero W + lighttpd では取得できてる気配が無くて…。

2020/08/28(金) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

某所の方の車で送迎してもらってお邪魔してきた。FAX用に使ってた EPSON EW-M660FT がまた故障して、修理に出して代替機が届いたからセットアップ作業を、との相談。AM09:30-PM03:00まで作業。詳細はGRPでメモ。

現場で話し合った結果、今回は EPSON EW-M660FT ではなく、先日導入した EPSON PX-M6711FT をPC群から利用できるようにする、という流れに。

とりあえず分かったこと。EPSON PX-M6711FT は、LAN接続とUSB接続を併用することができるっぽい。EPSON製の複合機は、無線LAN接続 + USB接続、あるいは、有線LAN接続 + USB接続で利用することも可能らしくて。 *1 まあ、機種によるのだろうけど…。

試しに実験したところ、以下の構成で動作した。 もっとも、後者のLANから使う場合、USB接続してあるPC1台の電源を必ず入れておかないと他のPCから印刷できないので、若干の不便さも…。

ドライバインストール時に、無線LAN接続、有線LAN接続、USB接続しか選べなくてちょっと困った。LAN内の共有プリンタに接続する場合は、どれを選べば…? ひとまず、USB接続を選択 → 今は接続しない、を選択 → ドライバ類がインストールできたら、プリンターの追加で、LAN内の共有プリンタを選択、という形で印刷可能な状態にはなったけど、これで正しいのかどうか…。でもまあ、これで印刷できたし…。

Windows8.1機同士なら、LAN内の他のPCも見えるし、共有プリンタも利用可能になったけど、Windows10機からWindows8.1機が全く見えなくて、そこは宿題ということに。

帰宅後ググっていて思い出したけど、たぶん Windows10上で SMBv1 が無効になっている気配がする…。自分のメインPC上でもハマった記憶が…。

余談。電動自転車で行くつもりだったけど、気温がかなり高くなると予報が出ていたそうで、こんな日に自転車で走ったら事故になるので、とのことで送迎してもらう流れに…。たしかに、これは命に係わるなと思えるぐらいに、洒落にならない暑さになった。送迎してもらって助かった…。
*1: ただし、無線LAN接続 + 有線LAN接続はできないと仕様表に明記されている。

2020/08/29() [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、17:15-20:15の間、自宅サーバを止めてました。申し訳ないです。

少しずれた場所でかなりの数の落雷があったようで…。雷雲が特定の場所に一気に集中発生していた模様…。

#2 [prog] IIS + PHP7を試した

Windows10 x64 2004 + IIS で、PHP7 が動かせるか試してみた。

参考ページを眺めながら作業。

_Window10のIISでPHPを利用する手順 - マゴトログ シュミニイキル
_Windows 10のIIS上でPHPを動かす - 水玉製作所

PHP7の実行バイナリを入手。 :

Windows上で動作するPHPを入手。

_PHP For Windows: Binaries and sources Releases

php-7.4.9-nts-Win32-vc15-x64.zip をDL。IISで動かす場合は、Non Thread Safe版を選ぶらしい。

解凍して、今回は C:\php\ 以下に置いた。

php.ini-development をコピーして、php.ini を作成。内容を一部修正。各項目の意味は全く分かってないけど…。
extension_dir = "ext"
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
fastcgi.logging = 0
extension=mbstring
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto

php-cgi.exe を実行。エラーが出なければ設定は問題無いらしい。

IIS側の設定。 :

IISマネージャを起動。

接続 → アプリケーションプール、を右クリック → アプリケーションプールの追加。
名前 : PhpAppPool
.Net CLRバージョン : .Net CLR バージョン v4.0.30319
マネージドパイプラインモード : 統合
アプリケーションプールを直ちに開始する、にチェックを入れる。

phpファイルを保存するディレクトリをどこかに作成しておく。

IISマネージャで、接続 → Default Web Site、を右クリック → アプリケーションの追加。
エイリアス : php
アプリケーションプール : PhpAppPool、を選択
物理パス : 先ほど作成した、phpファイルを保存するディレクトリを指定

Default Web Site のツリーに、php というフォルダ?が追加されるので、クリックして選択。右側の「ハンドラーマッピング」をダブルクリック。右側の「操作」 → モジュールマップの追加。
要求パス : *.php
モジュール : FastCgiModule
実行可能ファイル : C:\php\php-cgi.exe
名前 : PHP7

これで、IIS側の設定はできたはず。

動作確認。 :

先ほど作ったphpファイルを保存するディレクトリに、test.php を作成。内容は以下。
<html>
  <body>
  <?php echo 'Hello World'; ?>
  </body>
</html>

ブラウザを起動して、http://localhost/php/test.php を開く。Hello World と表示されたら、PHPは動いている。

phpinfo.php というファイルを作成。
<?php
phpinfo();
?>

http://localhost/php/phpinfo.php を開いて、色々な情報がずらりと表示されたらOK。

2020/08/30() [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、17:30-19:50の間、自宅サーバを止めてました。申し訳ないです。

#2 [raspberrypi] Raspberry Pi Zero Wで自動実行

Raspberry Pi Zero W で任意のスクリプトを自動実行したいなと。

ググってみたら、cron で指定することができるっぽい。
crontab -e
@reboot /home/USERNAME/bluechk.sh
@reboot hoge.sh とすると、起動時に hoge.sh を実行せよ、という指定になるらしい。

~/bluechk.sh の内容は以下。
#!/bin/sh
sleep 10
sudo /usr/local/bin/bluebutton -d="Shutter3" -c /home/USERNAME/.config/bluebutton
10秒間待ってから、bluetoothリモコンのボタン押し下げをチェックする Rubyスクリプト bluebutton を実行している。
以下、参考ページ。

_Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説 - Qiita
_Shutter3とRaspberry Pi Zero Wを使ったBluetoothボタンの制御まとめ
_100均のBluetoothシャッターとRaspberry Piカメラでオンラインデジカメを作ってみた | Developers.IO

2020/08/31(月) [n年前の日記]

#1 [prog] PerlとPHPを勉強中

PerlとPHPを勉強中。

やりたいことは、Raspberry Pi Zero W上で…。 これを Webサーバ lighttpd で処理するという、ただそれだけ。

最初は、Perl + HTML::Template + CGI.pm を使ってCGIスクリプトを書いてみた。メインPC (AMD Ryzen 7 1700)上で動かす分には一瞬でページが表示されたけど、Raspberry Pi Zero W上で動かしてみたらページが表示されるまで数秒かかって…。CPUが非力過ぎるのか、それともストレージとして使っている microSD が遅いのか、何が原因なのか分からんけれど、とにかくこの書き方はダメっぽいなと。

次に、HTML::Template と CGI.pm を使わない書き方を試してみた。若干応答が早くなった。しかし、それでもやはり一瞬待たされる感じで。

Perl を使っているのがダメなのだろうか、PHPならどうだろうと、PHPで書き直してみたところ、これなら一瞬でページが表示された。PHPって処理が速いんだな…。いや、PHPの力じゃなくて、もしかするとWebサーバの動作状態、設定次第で違ってくるのかもしれないけど。

とにかく、Raspberry Pi Zero W 上で Perl CGI を動かすのは厳しいっぽい。

ソースはこうなった。 :

以下のようなPHPスクリプトになった。

timelog.php
<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="utf-8">
<title>Time Log</title>
<link rel="stylesheet" href="def.css">
</head>

<body>
<h1>Time Log</h1>
<pre>
<?php
$contents = file_get_contents("timelog.txt");
echo $contents;
?>
</pre>
<div>
<a href="timelog.php">Reload</a>
<a href="clearlog.php">Clear Log</a>
<a href="./">Back</a>
</div>
</body>
</html>

clearlog.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Clear Log</title>
</head>
<body>
<?php
file_put_contents("timelog.txt", "");
?>
<p>Log cleared successfully.</p>
<p><a href="./timelog.php">Back</a></p>
</body></html>

この程度なら、Webブラウザから直接 .txt にアクセスしてもよいのでは、という気もする…。でもまあ、色々勉強になったから、これはこれで…。

ちなみに、Perl + HTML::Template + CGI.pm なら、こんな感じで。
use strict;
use warnings;
use HTML::Template;
use FindBin;
use CGI;

my $log_file  = "timelog.txt";
my $tmpl_file = "timelog_tmpl.html";

my $dbg        = 0;
my $q          = CGI::new();
my $script_dir = $FindBin::Bin;
$log_file  = $script_dir . '/' . $log_file;
$tmpl_file = $script_dir . '/' . $tmpl_file;

my $content = "";
my $params  = "";

if ($dbg) {
    for my $name ( $q->param ) {
        $params .= $name . "=" . $q->param($name) . "\n";
    }
}

if ( $q->param('action') eq 'clear' ) {

    # clear log file
    open my $fh, '>', $log_file
        or die "Can't open file $log_file : $!";
    print $fh "";
    close $fh;

    # $content = "Clear log\n";
    $params .= "clear log file.\n";
}
else {
    # read log file
    open my $fh, '<', $log_file
        or die "Can't open file $log_file : $!";
    $content = do { local $/; <$fh> };
    close $fh;
    $params .= "read log file.\n";
}

my $template = HTML::Template->new( filename => $tmpl_file );
$template->param( TIMELOG => $content );
$template->param( PARAM   => $params );
print "Content-Type: text/html\n\n", $template->output;
exit;

CGI.pmってどうなんだろう。 :

CGI.pm を使って HTML5 に対応させるにはどうしたらいいのか、と疑問に思ってググってみたら、そもそも今時は CGI.pm でHTMLを生成するなんてナンセンス、という空気のようで。「HTMLテンプレートを読み込んで一部を変更して出力、てな処理をすべきだよ」「CGI.pm で生成? ないわー」ということになってるっぽい。

たしかに、そのほうが楽だよな…。ただ、ファイルへのアクセス回数が増えるような気もするのだけど…。キャッシュ云々でそのあたり改善できたりもするのだろうか…。

2020/09/01追記。 :

以下の記事を眺めていて気づかされた。

_GETとPOSTの使い分け ついでにPUTとDELETE - Qiita
GETは、検索エンジンのクローラーがページを見に来る可能性があるため、データベースにアクセスするような内容は書かないようにする。
クローラーが来るたびにデータの追加、変更、削除をされないように、意図的に見に来ないPOSTで処理する必要がある。

GETとPOSTの使い分け ついでにPUTとDELETE - Qiita より


ああ、たしかに…。

つまり、本来であれば、前述の、呼ばれただけでログファイルの中身をクリアするスクリプト(clearlog.php)なんて論外だなと。クローラーが来るたびにログが消去されてしまう。まあ、今回はローカルで実験してるだけだからアレだけど…。

以上、31 日分です。

過去ログ表示

Prev - 2020/08 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project