Memo plus Alpha

メモにプラスアルファを加えて価値ある情報に。

Windows 10 (ver 1803) 電源切れない問題、三度…

はじめに

Windows 10を1803にアップデートしたら、また電源が切れない問題が起きました…(バージョンの確認はWindowsボタン+R、プロンプトにwinverと入力)。

今回は少し症状が違って、スリープはできるけど、ハードディスクが落ちず(電源が切れず)、間隔をおかずに再起動するというものです。

原因

で、いろいろと試みた過去がありますので、その中で試したものを順次適応していきます。まずは悪名高い「高速スタートアップ」から。オフにしているはずですが、念のため確認すると…。

オンになっている!!(アップデートで勝手に書き換わった模様です。質が悪い…。)

ということで、こいつが原因でした。

対策

「設定」→「電源とスリープ」→「電源の追加設定」→「電源ボタンの動作を選択する」(なぜこの中に…)→「現在利用可能ではない設定を変更します」をクリック→「高速スタートアップを有効にする(推奨)」のチェックを外す(「推奨」とは一体…)

(1)

f:id:semanticist:20180627171802p:plain

(2)

f:id:semanticist:20180627171846p:plain

(3)

f:id:semanticist:20180627172003p:plain

 

 

Windows 10電源切れない問題、再び

概要

以前、Windows 10でシャットダウンできない問題(下記)について書きましたが、その症状が再発しました。

semanticist.hatenablog.com

前回は増設のLANボードを無効にして、オンボードのLAN口に変えることで解決し、3,4ヶ月ほどこれで大丈夫だったのですが、再び電源が切れない自体に。

解決策

今回もいろいろと調べたのですが、もっと根本に問題があるような気がして、BIOSレベルで設定を見直しなました。これが正解。

シフトを押しながら「再起動」→「トラブルシューティング」→「詳細オプション」→「UEFI ファームウェアの設定」

参考サイト

f:id:semanticist:20180525181206p:plain

SETTINGS→Advanced→Event Setupと進み、すべてDisabledにして再起動。

これで電源が無事切れるようになりました。これまで「シャットダウン」を押して、PCをが切れるのを待ち、切れた瞬間に(再起動しないうちに)根本の電源を切る、という超原始的なことをやっていたのですが、この作業ともオサラバです!(もうこれ以上再発しませんように…)。

Macのローカル環境でCGIを動かす

Macのローカル環境でCGIを動かすためのメモ

MacにはもともとApachePerlなどが入っているので、XAMPPなどを利用しなくてもサーバー環境を構築でき、ローカルで動かせます。

Step 1

apacheの設定を変更。以下のページなどを参考に。

qiita.com

shopetan.hatenablog.com

 

perlcgiで動かすにはperlモジュールが必要なので、そのあたりのコメントアウトも外す。

LoadModule perl_module libexec/apache2/mod_perl.so

 

なお、xxx.plファイルをcgiに認識させるには :

AddHandler cgi-script .cgi .pl

とします。

 

d.hatena.ne.jp

 

 

ブラウザでhttp://localhost/filename.cgiにアクセスして、もしスクリプトの中身がそのまま表示される場合は、このあたりの設定が原因。

設定ファイルの変更後はapacheの再起動が必要なので注意。

 

sudo apachectl restart

 

Step 2

ファイルのパーミッションを変更。

chmod 755 XXX.cgiなど。

ログファイルなどの書き込みをする必要があるものも合わせて変更しておく。また、system関数で外部プログラムを呼び出すときは、そのプログラムやそのプログラムが読み込むファイルのパーミッションを変更する必要がある場合があるので注意。

step 3

cgiファイルの作成。perlへのパスを正しく記載する。Macのデフォルトは:

/usr/local/bin/perl

なので、ファイル冒頭に:

#!/usr/local/bin/perl

と書く。

500エラーが出る場合はこのあたりが原因。あと、ファイルの改行コードをLFのみにする、というのも大事(文字コードはutf8)。

tail /private/var/log/apache2/error_log

でエラーの詳細がわかるので、エラーメッセージをウェブで検索するとよい。

 

 

 

Windows 10でのプリンタの不調(印刷失敗)に対応する

はじめに

PCを新調し、OSがWindows 7からWindows 10に。プリンタもドライバーから入れ直してセットアップしたのですが、プリントアウトがうまく行かないことがしばしば。

印刷をすると、ウィィーンと反応はするものの、「印刷失敗」と出てきてしまいます。

解決策

いろいろと調べてみたり、ドライバーの再インストールなどをしても解決せず。で、Windows 10のトラブルシューティングを実行すると、「プリンタが古いからUSB3.0がダメかも」というメッセージが。

それでケーブルをUSB 3.0(青色のポート)からUSB 2.0に差し替えたところ、見事に解決しました。

トラブルシューティングが初めて役に立った、かも?

 

 

Perlで文字列をファイルを一括して置き換える(削除する)

Perl memo

ファイルの中身を一括して置き換える。

 

use utf8;
use Encode;
#標準出力(しない場合は不要)
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
#テキストファイルの一括取得
@files = glob ("*.txt");

#それぞれのファイルに対して処理
foreach $i (@files){

#ファイルを開く
open A,$i;
#内容を配列に格納
@data = <A>;
close A;

#保存用のファイルを作る
open B,">edit_$i";

#一行ごとの処理
foreach my $line (@data){
$line=decode('UTF-8', $line);
#置き換えの処理
$line=~s/<p>//g;
$line=~s/<br>//g;
#ダブルスペースを削除
$line=~s/ +/ /g;
#小文字に変換
$line=lc($line);

print B encode('UTF-8', $line);
}
close B;
}