Google Chrome Javaプラグイン(NPAPI)利用できなくなる

今後Google ChromeでNPAPIの段階的廃止する事で、Linux版Chromeではバージョン35からNPAPIが使用できなくなるというここです。
多分、Windows版も今後同様に対応になると思います。

現在JavaAppletを使用しているプログラムを利用していますが、Javaに代わるプログラムへ対応する必要があります。
PPAPIのJavaがあればいいのですが、今のところ未対応のようです。

またFireFoxもNPAPIの廃止を計画しているとの事。

Debina Google-Chrome バージョン35でJavaが使用できない

5/21にDebianのPCをセットアップしているとJavaが動作しないことに気が付いた。
バージョンは35.0.1916.114です。

新規セットアップだけの現象なのかもしれないので、旧バージョンからのアップデートを行ってみた。
旧バージョンでの動作を確認は問題なし、アップデートした後に確認したらやはり動作しなくなった。
これによりバージョン35以上のバグであると思います。Windows版ではバージョン35は問題なしでLinux版だけのようです。

chrome 35のバージョンアップには注意しましょう。

暫定対策として、旧バージョンをインストールする。インターネット検索をしても旧バージョンはどこにもないので、本サイトにアップ(32bitのみ)した。
利用には自己責任でお願いします。

# wget http://www.zzz.0t0.jp/Upload/google-chrome-stable_34.0.1847.132-1_i386.deb
--2014-05-21 15:41:42--  http://www.zzz.0t0.jp/Upload/google-chrome-stable_34.0.1847.132-1_i386.deb
www.zzz.0t0.jp (www.zzz.0t0.jp) をDNSに問いあわせています... 157.7.154.20
www.zzz.0t0.jp (www.zzz.0t0.jp)|157.7.154.20|:80 に接続しています... 接続しまし た。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 48599296 (46M) [application/x-debian-package]
`google-chrome-stable_34.0.1847.132-1_i386.deb' に保存中

100%[======================================>] 48,599,296  2.34M/s 時間 17s

2014-05-21 15:42:03 (2.72 MB/s) - `google-chrome-stable_34.0.1847.132-1_i386.deb' へ保存完了 [48599296/48599296]
# apt-get install libcurl3
# apt-get install libxss1
# dpkg -i google-chrome-stable_34.0.1847.132-1_i386.deb

もしダウングレードする場合、アプリケーションを起動したときに「バージョンが新しいGoogle Chromeのプロフィールは使用できません。一部の機能が利用できない可能性があります。別の場所のプロフィールを指定するか、新しいバージョンのChromeをご使用ください」というメッセージが表示される。
この場合、プロフィールを再度作成する為に削除します。

# cd .config
# rm -rf ./google-chrome

Debian LXDEのマウスカーソルを変更する

マウスカーソルをいくつかのサイトで見つけることができるが、1つダウンロードして行ってみた。
https://aur.archlinux.org/packages.php?O=0&L=0&C=17&K=cursor&SeB=nd&SB=n&SO=a&PP=50&do_Search=Go

このサイトにコピーしたもですので、自己責任でお願いします。

# mkdir .icons
# cd .icons
# wget http://www.zzz.0t0.jp/Upload/RezoWhite64.tgz
# tar xzvf RezoWhite64.tgz

メニュー内にある「ルックアンドフィールを設定します」をクリックする。
20140519_MouseCursol1

ダイアログのマウスカーソルタブに移動する。
20140519_MouseCursol2

ダウンロードしたファイルを選択する。
20140519_MouseCursol3

GUIからではなく、Telnetからの編集する場合は以下の通りです。

# vi ~/.config/lxsession/LXDE/desktop.conf

desktop.conf内

[GTK]
sGtk/CursorThemeName=RezoWhite64
iGtk/CursorThemeSize=64

DebinaでPDFを直接印刷する常駐PHPの作成

ローカルポート1025待ち受けして、サーバからの指示したPDFファイルを印刷するプログラムを作成した。
これはインターネット環境での動作確認はされていないので、ご注意ください。

ファイル名:/usr/local/bin/KaneyanPdf2Prn.php

#!/usr/bin/php -q
<?php
echo "PROGRAM START.....\r\n";

////////////////////////////////////////////////////////////////////////////////
//初期設定
$address = '0.0.0.0';  //全アドレスを対象とする
$port = 1025;
////////////////////////////////////////////////////////////////////////////////
set_time_limit(0);
ob_implicit_flush();
//ソケット作成
if (($master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
    echo "socket_create() failed: reason: " . socket_strerror($master) . "\n";
}
//ソケットの種類を設定する
socket_set_option($master, SOL_SOCKET,SO_REUSEADDR, 1);
//ソケットのバインド
if (($ret = socket_bind($master, $address, $port)) < 0) {
    echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
//ソケット待ち受け
if (($ret = socket_listen($master, 5)) < 0) {
    echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n";
}

////////////////////////////////////////////////////////////////////////////////
//受信データが来た場合
function handle_client($allclient, $socket, $buf, $bytes,$txtCount) {
        echo "受信データ:".$buf."\r\n";
        //受信データ例:"http://xxx.xxx.xxx.xxx/test.pdf" "test.pdf" "HL2270DW" "" ""

        $aryDat = str_getcsv($buf,' ','"');
        print_r($aryDat);
        $url=$aryDat[0];
        $Download = $aryDat[1];
        $Printer = $aryDat[2];
        $data = file_get_contents($url);
        file_put_contents($Download,$data);
        exec("lpr -P".$Printer." ./".$Download);
}
////////////////////////////////////////////////////////////////////////////////
//受信待ち受けルーチン
$read_sockets = array($master);
$txtCount=0;
while (true) {
        $ret= 0;
        $changed_sockets = $read_sockets;
        $num_changed_sockets = socket_select($changed_sockets, $write = NULL, $except = NULL, NULL);
        foreach($changed_sockets as $socket) {
                if ($socket == $master) {
                        if (($client = socket_accept($master)) < 0) {
                                echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
                                continue;
                        }else{
                                array_push($read_sockets, $client);
                        }
                }else{
                        $bytes = socket_recv($socket, $buffer, 2048, 0);
                        if($bytes == 0) {
                                $index = array_search($socket, $read_sockets);
                                unset($read_sockets[$index]);
                                socket_close($socket);
                        }else{
                                $allclients = $read_sockets;
                                array_shift($allclients);    // remove master
                                $txtCount++;
                                $ret = handle_client($allclients, $socket, $buffer, $bytes,$txtCount);
                        }
                }
        }
}
socket_close($master);
exit(-1);
?>

属性の変更を行う。

# chmod 755 /usr/local/bin/KaneyanPdf2Prn.php

パソコン自動起動時する場合のスクリプト作成

起動用スクリプトを作成

vi /etc/init.d/KaneyanPdf2Prn

ファイル名:/etc/init.d/KaneyanPdf2Prn

#!/bin/sh
### BEGIN INIT INFO
# Provides:          KaneyanPdf2Prn
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# X-Start-Before:
# X-Stop-After:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO

case "$1" in
  start)
        /usr/local/bin/KaneyanPdf2Prn.php &
    ;;
  stop)
    ;;
  restart)
    ;;
  reload|force-reload)
    ;;
  status)
    ;;
  *)
esac

属性の変更を行う。

# chmod 755 /etc/init.d/KaneyanPdf2Prn

起動時の自動起動設定(Debian 7の場合)

# update-rc.d KaneyanPdf2Prn defaults

Debian google-chrome起動失敗 Old AthlonXP sandbox問題

通常通りインストールし、起動を行うとなぜか起動しない。
シェルスクリプト起動ではなく、アプリケーションを直接起動すると、メッセージが表示された

# /usr/bin/google-chrome-stable
[0507/092140 ERROR:nacl_helper_linux.cc(236)] NaCl helper process running without a sandbox! Most likely you need to configure your SUID sandbox correctly

グーグルで検索を行うと古いAthlonXPでは何か問題があるらしいです。
http://forums.opensuse.org/showthread.php/494963-Chrome-on-old-Athlon-XP

–disable-setuid-sandboxを付ける

google-chrome --disable-setuid-sandbox

起動はするがネットワークにつないだ瞬間アプリケーションがダウンする。
これは対処できないようである。

apache 2.2 再起動連発する現象について その2

ログを確認していると何らかのエラーで再起動しているようである。
このメッセージは昔からよく見ていたが、原因が分からなかった。

FATAL:  erealloc():  Unable to allocate 1441792 bytes
[notice] Parent: child process exited with status 1 -- Restarting.

連休という事で実験に適しているので、再度インターネットで確認してみた。
どうもWin32DisableAcceptExが原因らしい。Winsocket2で問題があるからと昔調べてこの記述をしたのだが…

Win32DisableAcceptEx

環境が変わりWindows Server 2012では違うのかもしれない。
とりあえずコメントにして稼働させておくことにした。

# Win32DisableAcceptEx

頻繁に再起動していたのがうそのようになくなった。しかし0ではないのが残念です。
とりあえず様子を見ておくことにする。

apache 2.2 再起動連発する現象について その1

apacheのログを検証するとたびたび再起動しているのが判る。

[notice] Child 2768: Process exiting because it reached MaxRequestsPerChild. Signaling the parent to restart a new child process.

MaxRequestsPerChildが何らかの原因らしいことはわかった。
httpd.conf内を確認

MaxRequestsPerChild 100

根拠はないが100ぐらいでいいだろうというのが間違いだったみたいです。
インターネットで検索してみると上限を無くす為に0にする。

MaxRequestsPerChild 0

これで再起動されていない事を確認した。