もしもSambaのファイル共有を認証なしにしているのなら、それはSMBのバージョンの問題ではなくて、以下に該当している可能性が高い。

 

▼ Windows の既定で無効になっている SMB2 のゲスト アクセス

https://support.microsoft.com/ja-jp/help/4046019/guest-access-in-smb2-disabled-by-default-in-windows-10-and-windows-ser

 

上記によると、以下のレジストリの値を"0"から"1"に変更することで、セキュリティ面を無視してとりあえずはアクセスできるようになる。

HKEY_LOCAL_MACHINE
    - SYSTEM
        - CurrentControlSet
            - Services
                - LanmanWorkstation
                    - Parameters
"AllowInsecureGuestAuth"=dword:1


ちなみに、Windows PowerShellを管理者で起動し、以下コマンドレットにより、
現在WindowsがSMBのどのバージョンで接続しているかを確認することができる。


get-smbconnection

 

Linuxサーバ側でSMBバージョンを確認するには、

 

sudo smbstatus -b

 

コマンドで確認できる。

本日、diskと書いたつもりが、discと書いてしまって、ふと気が付いたのですが、そういえばどちらも目にしますよね。

一般的には、discでもdiskでも円盤型のものを指すようですが、

コンピュータの世界では明確に意味が分かれているとのことです。

 

・disc はCDやDVD、MOなどの光学式メディア。

・disk はフロッピーディスクやHDDなどの磁気メディア。

 

なるほど。

テープドライブは磁気メディアだけど円形ではないから、diskとは呼ばないのでしょうし、フロッピーは四角いけど、中身は円形ですからdiskなんでしょうね。

 

そういえばMO見なくなったな。

 

▼参照

「disc」と「disk」の違い

https://support.apple.com/ja-jp/HT201697

 

趣味でIBM時代の古いThinkPadをコレクションしていますが、今でも十分使える物も多いです。

 

 

ヤフオクで数千円で入手した Z60t です。

このあたりのモデルは IBM社がPC事業から撤退しlenovoへ引き継がれた直後のもので、IBMのロゴマークと伝統の7列キーボードが健在ですね。

 

あまり使用されていないようでキーボードもほとんど新品に近い状態でした。

 

ただCMOS電池が切れていて起動のたびにBIOSで日付・時間を設定しないといけない。純正品はもう手に入らないので市販のボタン電池にハンダゴテでDIY。

 

Windows XP Professional がインストールされていますが、さすがにもう使えない。Windows10にアップグレードしてもいいのですが、普段使わないPCにお金をかけたくないし、オリジナルの環境は残しておきたいし、ということで、Linux とデュアルブートにしました。

 

デュアル(マルチ)ブートにすると、電源投入後にLinuxか、Windowsか、どちらを起動するか選択する画面が表示されます。デュアルブートの構築方法等はまた別の機会に。

 

LinuxはDebian9をインストールしました。

標準インストールでLibreOfficeのスィートが入っているのですが、

Calc(表計算ソフト・Excelみたいなやつ)やBase(リレーショナルデータベース・Accessみたいなやつ)は普通に起動するのに、Writer(ワープロソフト・Wordみたいなやつ)だけが起動しない。

 

debianのフォーラムでこの事象を検索してみると、どうやら既知のバグのようでした。応急処置として

 

①Calcを起動

②LibreOfficeの設定メニューを開く

③オプション-詳細を開く

④Javaオプションで「Java実行環境を使用」のチェックボックスをオフにする

 

これだけでWriterも起動し使えるようになりました。

Google App Engine のアプリで原因不明のエラー発生

 

2年以上エラー無しで稼働しているシステムなのに、昨日昼頃から特定の処理をしようとすると表題のエラーでクラッシュするとの報告を受けた。

 

エラースタックを見る限り、私のコード自体に問題があるわけではなさそうで、

 

↓↓↓↓↓↓↓↓ 

java.lang.ClassFormatError: StackMapTable format error: bad verification type

at java.lang.Class.getDeclaredConstructors0 (Native Method)

at java.lang.Class.privateGetDeclaredConstructors (Class.java:2591)

at java.lang.Class.getConstructor0 (Class.java:2943)

at java.lang.Class.newInstance (Class.java:350)

at org.mortbay.jetty.servlet.Holder.newInstance (Holder.java:153)

at org.mortbay.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:428)

at org.mortbay.jetty.servlet.ServletHolder.getServlet (ServletHolder.java:339)

at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1166)

at org.slim3.controller.FrontController.doFilter (FrontController.java:240)

 

・・・(省略)

↑↑↑↑↑↑↑↑

 

調査の結果、サーブレットから特定のJSPの呼び出しで、JSPのコンパイル時にエラーが発生している様子。

 

JSPのどこでエラーになっているのかが、さっぱりわからなかったので、とりあえずコードの前半部分をおおざっぱにコメントアウト。

 

するとエラーは出なくなった。次は逆に後半部分をコメントアウト。

それでもエラーは出なくなった。

 

コメントアウトを解除するとエラーが出る。

 

2千行以上の大きなファイルだったので、ファイルサイズなどの制限にかかってしまったのかも?と推測し、コードを整理。スリムにしたら復旧できました。

 

昨日の昼まで問題なく動いていたのに、なぜ急にエラーが出たのかは不明。

 

ちょうど昨夜から今朝にかけて 米国の Google Cloud Platform で大規模な障害が発生していたようで、私が使っているサービスにも何か影響があるような変更があったのかな?

 

iOS10 になってアプリが起動後に少し経ってからいきなりクラッシュ、停止する。

ところが iOS9 のデバイスでは問題なく動作する。

実機でデバッグしてもXcodeのコンソールにはそれらしいメッセージが何もなく、breakpoint にもかからず。ただ例の signal SIGABRT のみ。

少し調べるとiOS10以降、ユーザのパーミッションが必要な特定の機能にアクセスする場合は info.plist 内にて新しいKey/Valueを追加しないとダメらしい。

アプリはカメラで撮影する機能を装備していたため、この場合、

Privacy : Camera usage description をキーとして選択し、value には任意の文字を入力する。

アプリ初回起動時にユーザーにカメラのアクセス許可を求めるダイアログ表示されるされるが、今回ここで指定する文字がダイアログ内に表示されるようだ。

 

今回はカメラで撮影した画像をアルバムに保存する機能も含むので、Camera usage description キーだけでなく、Photo library usage description の追加も必要なようです。

 

 

スマートフォンを持ったばかりの頃、通話の終了にとまどった。

普通の携帯電話とは違って、スマートフォンの場合は、
本体に電話番号を押す数字キーもなければ、発信や終了のボタンも無い。

「電話をかける」という作業も「電話」というアプリを起動して、タッチパネル画面上のバーチャルキーボードで電話番号を入力し、発信も通話終了も画面上のバーチャルなボタンをタップしたり、スライドさせたりする。

特に、通話終了の場合は画面上の「通話終了」と書かれたスライドボタンを指先で左方向へスライドさせて接続を切るんだけど、あれ、本当に使いにくい。

$ANKATSU2010 のブログ-android 通話終了

指でいくらスライドさせても、電話アプリの切断処理に時間がかかっているのか、すぐには反応しない。で、本人は電話を切ったつもりでも、実はまだポケットの中でつながったまま...。という、時と場合によっては大変な事態になることも、あったりするかも(笑)。

それでですね、画面をよく見ると、「通話終了」ボタンの下に小さな字で、「←長押し」と書いてある...「←」ボタンとは、ホームボタンの右側のボタンで、「戻る」ボタン。これを長押しすれば、確実にすぐに通話を終了できる。なんだ、あるじゃないかと...

でもね、もっと便利に電話を切る方法がありました。

本体の右側面の一番上の「電源ボタン」です。「電源ボタン」はデフォルトでは、普通に押すと「ディスプレイの電気を消す」、もう一度押すと「ディスプレイの電気をつける」、ディスプレイの電気がついている状態で長押しすると、オプションで「マナーモードにする」「電波OFFモードにする」「本体の電源を切る」の選択画面になります。

その「電源ボタン」に「通話を終了する」機能を割り当てる方法は、「メニュー」→「端末設定」→「ユーザ補助」(ユーザ補助アプリケーションが見つかりませんというメッセージが出るから、キャンセルボタンをタップ)→「電源ボタンで通話を終了」というチェックボックスが出てくるから、タップしてチェックをつける。

これで完了。これで、片手で通話終了できるようになりました。これは 003SH だけでなく、他社の端末でも共通だと思う。

逆に、かかってきた電話を本体のボタンでとりたい時は、メニュー→「端末設定」→「通話設定」→「エニーキーアンサー」で、「応答」に設定する。すると、ホームボタンなどで、電話が受けられる。すべてのボタンで試してみたら、「MENU」「戻る」「電源」の3つ以外の全てのボタンで電話を受けることができた。

ちなみに、「エニーキーアンサー」にある、「クイックサイレント」とは、かかってきた電話の着信音を消す機能。本体のボタンで電話には出ないが、本体のボタンで着信音だけ消したい場合に使う。

最近はウェブブラウザも Google の Chrome を使っている。
家の中でも、リビングのデスクトップパソコンや、自分の部屋のデスクトップ、また、こたつに入ってノートパソコンと、何台も使っているけど、Google Chrome なら、ブックマークなんかの同期もしてくれる。会社のパソコンでお気に入りに登録すれば、自宅に帰っても、ブラウザのお気に入りに入っている。ちょっとしたことだけど、ほんとうに便利。まあ、それは置いといて、

GALAPAGOS 003SH の端末から、Web の Gmail の自分のアカウントにログインすると、 Gmail で使っている「連絡先(アドレス帳)」を自動的に端末本体の電話帳と同期させてくれる(させないようにもできる)、Googleケイタイならではの機能だけど、使っていて「アレッ?」と思った...

$ANKATSU2010 のブログ-アドレス帳
(Android DDMS でスクリーンキャプチャ)

パソコンから Gmail の「連絡先」に追加や削除などの変更を加えると、すぐに(数秒くらいで)端末本体の電話帳に反映されているけど、自分が携帯電話本体側に加えた電話帳データがまったくパソコン側の Gmail 連絡先に追加されていない。つまり、同期が WEB → 端末 の一方通行になってしまっている。これはどうしたものか?

※スマートフォンには、説明書は付属していないから、どんな疑問でも自分でググらないといけない。基本的な、充電の仕方や電話のかけかたなんかはsoftbankのサイトにあるみたいだけど。

Gmail のサイトに同期について少し書かれていた内容では、同期するのは電話帳の「My コンタクト」グループ(フォルダ)とあった。なるほど。それで、端末本体に最初からあるフォルダ、「友達」「同僚」「家族」「グループ指定なし」は同期しないのか...。

同期が一方通行だと思い込んでいたのは、じつは、自分が本体側で登録した電話帳はすべて、「グループ指定なし」(デフォルト)だったからだ。電話帳に登録するときに、グループを「My コンタクト」に指定すれば、すぐに WEB側にも反映された。同期がうまく行われないといった書き込みをよく見かけますが、「このへんの仕様が説明書もないからわかりにくい」ということもあるのではないかな...

それで、いろいろと、パソコン側で新しいグループを作ったり、本体側で作ったり、削除したりしてみた。それでわかったこと。

1) 電話端末本体に最初からあるフォルダ、「友達」「同僚」「家族」「グループ指定なし」は Gmail とはまったく同期されないが、デフォルトで同期される「Myコンタクト」以外にも、新しいグループを WEB側、端末側どちらで作っても、お互いにすぐに反映される。内容も同期される。

2) 端末本体側で新しい連絡先を電話帳に追加する場合は、「Myコンタクト」または、新しく自分で作ったグループを指定して保存しないと同期されない。

今までずっと WindowsXP 環境だったけど、
このあいだ、久しぶりに触った Linux (Debian lenny) の
使い心地があんまり良いものだから、
Linux をメインに使おうと考えて、いろいろインストールして
みたんだけど...

今日は Eclipse (helios) と Android SDK をインストールした。
Android Developers のサイトから linux 用の starter package
をダウンロード、展開して、いつものように "Android SDK and AVD Manager"
を起動して Android 各バージョンの platform と追加コンポーネント を
インストールしようとしたら、見慣れないエラーが。

Validate XML
XML verification failed for http://dl-ssl.google.com/android/repository/addons_list.xml.

なんじゃこりゃ。内容からすると、xml に関するものらしいけど、スキーマに問題が
あるのかな...ググっても、ほとんど出てこない。数時間格闘。

JDK、eclipse、Android SDK、全部インストールし直したが改善せず。
それどころか、今度は eclipse まで変なエラーが。
eclipse を起動直後に

注意An internal error occurred during: "Loading Web Service DOM...
org.eclipse.emf.ecore.util.EcoreEMap $DelegateEObjectContainmentEList

これは...もっと根本的な問題なのかな...
で、念のため、java を確認。

java -version

としてみると、

java version "1.5.0"
gij (GNU libgcj) version 4.3.2

え?なんで?つい何日か前に最新の JRE をインストールして
設定もしたはずなのに...

# update-alternatives --config java

として、alternatives を確認。


`java' を提供する 3 個の alternatives があります。

選択肢 alternative
-----------------------------------------------
1 /usr/bin/gij-4.3
*+ 2 /usr/lib/jvm/java-gcj/jre/bin/java
3 /usr/lib/jvm/java-6-sun/jre/bin/java



2番になってしまってる。おかしいなあ。
3番に設定。

でもこれで、ウソのように Eclipse も Android SDK も動き出しました。
最初の頃に JRE -version6 をインストールして環境設定もしたつもり
だったけど、できてなかったのかな...ともかくエラーの原因は古いJava
でした。
実は、スマートフォンなどという言葉が出てきた頃から、
興味はあったけど、わざわざ買うほどの必要性も感じなかった。
そんなんだから、知り合いが iphone 買ったりしても、

「へえ...」
「あっそう...」

と言うくらいでしたよ。

実は自分も昔から結構そういうのは好きな方で、
PDA や モバイルノート なんかもイロイロと使いました。

初期の頃は SHARP Zaurus MI-L1 。実は今でも時々電源を入れて使ってたり
するんだけど、いつ頃買ったのか忘れた。
型番で検索すると発売時期は2001年でした。うわ。もう10年。

この頃の初期のPDA は Palm なんかも皆そうだったけど、
真っ黒で四角いボディにタッチペン。

液晶パネルにはバックライトがついてないから、
昔のゲームウォッチみたいに(笑)暗い所では見えないし、
wifi なんか当然ついてない。

通信インターフェースはコンパクトフラッシュカード(死語?)
タイプのもの。でもせいぜい、用途はメールの確認程度。

今では、モバイルとしての役目は果たせず、机の引き出しの中で眠っている。
古いアドレス帳なんかを見るときだけ、電源を入れる。
ANKATSU2010 のブログ-初期ZaurusとGALAPAGOS

ANKATSU2010 のブログ-武骨なデザイン


でも、こういう武骨なデザイン。本当に大好きなんだよなあ。
70年代のラジカセとか今でも欲しい。
真夜中の布団の中で、小さな音でよく聞いたなあ。
オールナイトニッポンとか、ヤングタウンとか...涙

そういうオヤジはノートパソコンもやっぱり IBM ThikPad 大好きです。
Lenovo じゃなくて、IBM ね。

Mebius MURAMASA なんていうのも買ったな。
これはとても小さい、そう、B5ノートなんかよりももっと小さい、
A5 っていうサイズだった。
でも、OS は Windows CE や Window Mobile ではなくて、
ちゃんと Windows XP 搭載。ワイヤレスLAN もついて、
CPU も 1G 、20万近くしたと思うけど、飛びついた。

うれしそうにカフェなんかで使いましたよ。
それも、外にテーブルが置いてあるようなカフェで。(笑)

でも、いざ使ってみると、「パソコン」として見てしまうから、
キーボードは小さすぎて打ちにくいし、画面が小さすぎて見づらい。
すぐに飽きてしまって、ヤフオクで処分。
つまり、もともと必要じゃなかったってことなのかな...

何が言いたいかって...
つまり、いくら良いモバイル製品を買っても、自分自身にそれを使い
こなす環境がなければ、使っていても、ちっとも面白くないし、
お金のムダ、時間のムダ。
せいぜい、メールのチェック、ヤフオクなんかの確認、
インターネットバンキング、そんな位だった。今までは。

でも今は YOUTUBE や SNS、ブログ、twitter 、その他、
あらゆるサービスが クラウド として ネット経由で利用できる。

一番スゴイと思うのが Google 。
Youtube はもちろん便利な機能が盛りだくさんのグーグルマップや Gmail、
オフィスソフトや3D描画ソフト、最近ではウィルスセキュリティソフトまで
全部無料で使えてしまう。

普段の検索から、Google には本当にお世話になっています。

ご存知のとおり、各キャリアのスマートフォンにはいろいろな種類がありますが、
iphone は apple(マック)、その他はほとんど Google の携帯端末用OS
である、Android が搭載されています。Windows Phone というのがまた
出るらしいけど。

そんな Andoroid搭載のスマフォは Google phone とも呼べるものなので、
Androidスマートフォンを持つのなら、Google のサービスをフルに利用
しないと、もったいない。

自分自身も、少し前までは、モバイル端末などはすべて、
「帯に短し、たすきに長し」的な感覚で少し距離を置いて見ていたけど
スマートフォンに関して言えば、多様なWEBサービス、キャリアの料金プラン
など、いろいろな意味で環境が整ってきたと思う。

そういう自分は1月に softbank から発売された SHARP GALAPAGOS 003SH ブラック
を選びました。

これから、このスマートフォンを使いこなしていく上で、疑問に思うことや、
思いついたこと、便利な使い方、などあれば、どんどん書いていこうと
思ってます。GALAPAGOS だけでなく、Xperia、Desire、Galaxy、なんかでも
Android OS の基本的な動作は皆同じですから、情報交換してくださいね。
自分自身もまだまだ、使いこなせてないですから。

よろしくです。




























■JavaEEインストール

JavaEE は Java開発環境の中でも、アプリケーションサーバーの
Glassfish サーバーや、SQLデータベースの Derby なんかがはじめから
セットで入ったタイプ。

Debian Linux といい、Java といい、こんなすごいものがタダで
使えてしまうんだから、本当に感謝、感激ですね。

Oracle の Java SE ダウンロードページから指示にしたがって
Linux 用のシェルスクリプトをダウンロードしてみた。

ファイル名は
java_ee_sdk-6u1-jdk-linux-ml.sh

で、
# sh java_ee_sdk-6u1-jdk-linux-ml.sh

で実行させてみたら、インストーラは起動するのだけど、
中の文字が文字化けして全部□□□□□になってしまって、
一体何が書いてあるのかさっぱりわからない。

JKD のダウンロード、インストールは何度もやっているから、
まあ、文字が見えなくても、手順はわかっているのだけど、
後で作ったアプリケーションが全部文字化けとかしていると
イヤだから...

ダウンロードファイルを選ぶ時に言語を English か Multi-Language
か選ぶところで、Multi-Language を選んだせい?
で、English をダウンロードしなおし。

結果は同じ。

java の実行環境が無いのかな...で JRE を確認。
ちゃんと入っている。

何か、必要なフォントがはいってないとか?
sazanami フォントなんかを追加。

結果は同じ。

で、いろいろとググること小一時間。
NetBeans の FAQ でこんなのを発見。

http://wiki.netbeans.org/FaqInstallLinuxInstallerAsianFontsJa

なるほどー。sh だと 実行時に JRE を指定できる -j オプション
というのがあるのか。へええ。

# sh java_ee_sdk-6u1-jdk-linux-ml.sh -j /usr/lib/jvm/java-6-sun

とやってみたら、無事、日本語が表示された。foo...