Memo plus Alpha

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

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;
}

Windows 10でシャットダウンできない問題を回避

はじめに

Windows 10 (ver 1511)をAniversary Update (ver 1607)にアップデートすると、シャットダウンができないという問題が起きました。一度電源が切れるものの、2秒くらい経つとすぐに再起動する現象が発生。

 

おそらくドライバー等の問題ではないかと思い、いろいろと試す(高速スタートアップの無効化、デバイスによる電源管理の無効化 etc)も効果なし。

 

そのうちWindowsが対応してくれるだろうと思い、放置していましたが、Creators Update (ver 1703), Fall Creators Update (ver 1709)にしても改善せず…。

解決策

ver 1511のサポートも切れるので、セキュリティ的によろしくないと思い、再度挑戦。

 

これまで試した対応策の中に「接続されているUSB機器を抜く」というのがありました。これももちろんやったのですが、もしかしてネットワークケーブル?と思い、恐る恐るこれを抜いてシャットダウンすると…

 

再起動しない!!

 

まさかそこだったとは…。実は使っているパソコン(マウスコンピューター)は拡張カードで有線LANを設置しているのですが、これが原因でした(インテルギガビットLANアダプター)。

オンボードのLAN口を使えば、再起動しなくなり、無事解決しました。だいぶ時間(とお金:増設代)を無駄にしましたが、とりあえず一件落着。

 

2018/05/25追記

3,4ヶ月ほど順調だったのちに再発しましたが、その対応策を書きました。