vnc:upupbb/cc

リクライニングした椅子から、半径 30cm以上動きたくないジジーは、当然のごとくリモートする事を考えた。
色々手はあるが…win10も puppyも使えそうなのは vncかな?
#ベストは Teamviewerだろうけど…どうも、最近は puppyだめ(?)
結論から言うと…
Windows相手には十分使える。
Linux(puppy)相手には…ちょっと安定性で劣るが、使えるかな(?)

 

クライアント
Puppyパッケージマネージャで「xtightvncviewer」をインストール。

サーバ(win10)
・窓○杜などから「UltraVNC」を DL(自分は 64bit v1.2.1.7だった) →インストール →「UltraVNC Server」を起動すればタスクトレイに常駐する。
・「Admin Properties」で VNCと View Onlyのパスワードを設定。
#いらねーや、とか 同じでえぇや と思ったんだけど…怒られた。
#"aaaa" と"bbbb"とか適当に設定。

f:id:b_b_b_b:20190304112804j:plain  f:id:b_b_b_b:20190304112812j:plain

・win10の IPは DOS窓で「ipconfig」で確認。
DHCPって…毎回番号変わると思ってたら…意外と同じ…
MACアドレスか何かで、なるべく同じ番号割り振ってるのか(?)…ラッキだけど。

・xtightvncviewerはインストールはされるが、残念…メニューが登録されない。
あとから分かったが…xtightvncviewerを直接起動するより tscを使った方が便利。
特につなげる相手が複数ある場合などは tscだと接続設定をファイルで保存できる。
取り敢えず、適当に xtightvncviewer登録。

f:id:b_b_b_b:20190304113018j:plain

起動すると接続先の IPアドレスと設定した[aaaa ]を入れれば完了。
#パスワードは何も表示されない(?)…自分だけ?

f:id:b_b_b_b:20190304113045j:plain  f:id:b_b_b_b:20190304113055j:plain

問題なくつながります。動作も安定性も良さそう。
最初「スクロールが戻らん」と思ったけど…右クリック←→左クリックだった。
・問題無さそうなら win10の方は、タスクトレイアイコンで右クリック→「Install Service」すれば、次回からは自動起動してタスクトレイに常駐。

 

puppyで vncサーバ
冒頭の通り、若干安定性に問題はあるが、使える時は youtubeやら movieやら再生しても問題なく使える。
・Puppyパッケージマネージャで「x11vnc_0.9.13-2」をインストール。
x11vnc_~と x11vnc-data_~共にインストールされる。メニューも登録される。

f:id:b_b_b_b:20190304113223j:plain
・この「X11VNC Server」メニューを起動して →[OK]

f:id:b_b_b_b:20190304113248j:plain
この画面は消えるが、しばらく待つ(結構しばらく)。
すると↓の画面が出てくる。[Advanced] →[Actions] →Startを選択。

f:id:b_b_b_b:20190304113316j:plain  f:id:b_b_b_b:20190304113513j:plain

・画面右下の[OK]を押すとサーバ起動完了。

f:id:b_b_b_b:20190304113824j:plain  f:id:b_b_b_b:20190304113834j:plain

こっそり shell画面(log?)も起動している。
・これでクライアントとなる puppyから tscでつなげば難なくつながる。
#こっちは ユーザもパスワードもいらない。
大画面も可能。

f:id:b_b_b_b:20190304113955j:plain

PC起動時から x11vncを自動起動させておくには↓の呪文を ~/Startup/startup-personalに追記。
x11vnc -xkb -repeat -display :0 -forever &

samba:upupbb/cc

puppyどうしや Windowsとのネットワーク越しでのデータのやりとりでは便利。

Samba Simple Management
ネットワーク →「Samba Simple Management」(以降「SSM」表記)を起動。
何も設定する事ありません。[SAMBA OFF]をクリックして[SAMBA ON]にするだけ。
そして Windows側の エクスプローラで「ネットワーク」をクリックする。検索され、見つかった puppy〜をクリックすると id/pwd 聞かれる。
SSMの画面に記載されている様に root/woofwoof を入れれば puppy側の中が見える。
これでファイルをやりとり可能。

 

Pnethood Samba共有
対puppyとか、自宅には無いけど…Windowsサーバとかつなげる時はこれ。ネットワーク →「Pnethood Samba共有」を起動。
例えば、サーバにする puppyは先に SSMを起動。もう 1台の puppyから「Pnethood Samba共有」を起動 →勝手に検索してくれるので、id/pwd入れて →[接続] →[参照]するだけ。

 

ちょっとトリッキーな設定
会社の WimdowsPCとか…ドメインに参加してるから? なぜか素のままでは SSMで起動した puppy側の sambaにつながらない。
つながらないと言うか…プログラムとファイルの検索[\\192.168.???.???\]で「puppyshare」自身は見つかる。
で、ログインダイアログが出るのだが…これが上手く入れない。

色々試した結果、最後にたどり着いた方法が↓
・ログインダイアログ入力をスキップして接続。
・普通は guestとか read onlyなユーザにするんだろうけど…read/writeしたいから rootでログインさせちゃう。
・でも、ログインスキップで rootだから最低のセキュリティとして、繋げられる WindowsPCの IPを制限する。

 

基本的な構造も調べたので記載しておく。
sambaのバージョンは
# /usr/sbin/samba -V
Version 4.7.0
この v4から anonymous設定の「security =share」が無くなってた。

コンフィグファイルは「/etc/samba/smb.conf」で手動で試すなら
# /etc/init.d/rc.samba start/stop/restart
# ps aux | grep sm
上手く動かない場合はコンフィグファイルの書式ミスがほとんど。
# testparm
でコンフィグファイルの整合性を確認できる。

SSMの実態は /usr/sbin/samba.sh
いやらしいのは、コンフィグファイル自身をこいつが /tmp/smb.confに生成してから「cp -af /tmp/smb.conf /etc/samba/」して「rc.samba restart」してた。
#どうりでコンフィグファイル編集しても反映されない訳だ・・・


で、結局どうしたかと言うと…
# cp samba.sh samba.sh.org ←念のためバックアップして
samba.shの以下を修正 ----------------------------------------------
#generate smb.conf
swapvalues(){
NETBIOSNAME="netbios name = $SERVERNAME"
if [ "$SERVERNAME" = "" ];then
# SERVERNAME=""
NETBIOSNAME=""
fi

echo "#this is a very simple smb.conf to get you started
#coutesy rcrsn51 and gcmartin
[global]
workgroup = $WGROUP
$NETBIOSNAME
server string = Puppy Samba Server
security = user                   #"share"は無くなり "user"かつ↓map toで、
map to guest = Bad Password  #ログイン失敗時 guestログインになる。
guest account = root            #さらにその guestを rootにしちゃう
hosts allow = 192.168.???.???  #流石に怖いので PC制限
printing = cups
printcap name = cups
load printers = yes

[$SHARENAME]
path = $MYPATH
guest ok =yes #sharエリアを guestもアクセス可能に
writable = yes
" > /tmp/smb.conf
---------------------------------------------------------------------
これで上手く行きました。

kkc:scpup64、upupbb/cc

kkcの情報って検索しても結構少ない。やっぱ使ってる人少ないのかなぁ?
NTEmacsを使う場合、特に NTEmacslinux上の emacsも使う様な人は 日本語FEPに kkcの採用を検討する価値はある。
WnnCannaSKKATOKなど FEPに対して拘りのある人はともかく(?) MS-IMEで満足できるなら kkcでも問題ないと思う。
確かにバカ(失礼、シンプルな…)な FEPだけど、なんと言っても emacs標準搭載。
Windowsだろうが、linuxだろうが、Mac(多分同じ…触った事ないけど)でも、別途何かをインストールする必要もなく、使い方も同じである。

日本語入力への切替
・C-\ を押す度に ON/OFする。
・漢字変換は MS-IMEに近い。ひらがな(ローマ字)入力 →スペースで変換。
例えば「歯科医」を変換してみる。
C-\ 「しかい」SPACE →「司会」SPACE →「視界」SPACE … 無念…1周しても "歯科医" は出て来ない。
しょうがないので、 「は」SPCAE → 歯、 「かがく」SPACE → 科学 BS 学消去、「いしゃ」SPACE → 医者 BS 者削除。なんて事になる。
ここまででも、かなり使えん FEPな訳だが…何とか学習してくれんか? と色々やっても …「しかい」SPACE で「歯科医」が出る事はない。
# kkcには学習機能なんてありません。
ほとんどの人は、このあたりで「使えんFEP」と烙印を押してしまうだろう(無理もない)。

 

漢字変換範囲
・C-i/oを覚えると、かなり使いやすくなる。
「しかい」SPACE の後に C-iとか C-oを押すと漢字変換範囲を変更できる。
これで 「しか」までを変換範囲に設定すると "歯科" は数回の SPACEで出てくる。
続けて C-fで変換範囲を「い」にすれば "医"もすぐに出る。
・L/l(小文字)での候補ページめくり
更に SPACEでの変換中に Lまたは l(小文字)を押すとモードラインに表示される候補をページめくりできる。SPACEで 1候補づつ進めるのに対し、数倍早く目的の漢字を見付ける事が出きる。

 

カタカナ
・K(大文字)
「しかい」K で シカイ になる。
以上の 3つを覚えると・・・kkcに対する、印象は変わり…「意外と使えるかも…」と言う気持ちになる。

 

辞書登録
とは言え・・・学習機能は無い。個人辞書も登録出来ないってのも…シンプル イズ ベストとは言え、やりすぎ…。相変わらず 「しかい」SPACE 一発で "歯科医"にはならない。
少々強引だが、個人辞書登録を行う。
・ja-dic.elの設置
kkcの辞書は通常 ~/emacs/XX.X/lisp/leim 以下に elisp(ja-dic.el)として置かれている。
これを ~/.emacs.d/などにコピーし、init.elには「(load-library "~/.emacs.d/ja-dic.elc")」などとして、起動時読み込む様にする。
ja-dic.elはバイトコンパイル(*.elc)して 読み込んだ方良い。辞書なので、そこそこデカく、*.elのままだと読み込むのに時間がかかる。
#バイトコンパイルemacsで ~/.emacs.dを diredして ja-dic.elの上で B(大文字)で可能。
・ja-dic.el編集(編集前に、念のためバックアップしておこう)
emacsで ~/.emacs.d/ja-dic.elを読み込み「しかい」の部分を編集する。
日本語検索が必要になるので、init.elに↓を記載しておけば、C-sC-kC-\しかい を検索できる。
;;非ASCII文字列検索を可能にする。C-sやC-rの後でC-kを入力する。
(define-key isearch-mode-map "\C-k" 'isearch-edit-string)
ja-dic.elを読み込んだら M-x text-modeしてから編集するのがおすすめ。
なんと言ってもデカイ日本語ファイル。これしてないと重い・・・
見つけた「しかい」の行は、その場で修正を加えず、行を切り取り↓の様に 辞書の最終行に移動してから、
----------------------------------------------------------------

"をことてん 乎古止点"
"をんな 女"
;;↓個人辞書 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
"しかい 此界 尸解 死灰 四界 志怪 斯界 四海 死海 市会 視界 司会 歯科医"
;;↑個人辞書 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
)

;;
(provide 'ja-dic)

------------------------------------------------------------------
"歯科医" を加える。
こうしておけば、後々辞書の修正部分が解り易い。
それと、修正した ja-dic.elを保存したら、バイトコンパイルを忘れずに!!!!
・kkcrcの編集(編集前に、念のためバックアップしておこう)
辞書である ja-dic.elを編集しただけでは、反映されないのが、なかなか洒落ている…orz
学習機能は無いが、履歴があり、これが邪魔をして新しい辞書の内容が反映されない。
#履歴だけで、これだけの使い勝手を実現してるのも…ある意味すごい気はするが…
emacsの再起動
履歴ファイルは ~/.emacs.d/kkcrcとして保存されている。emacs終了時にこのファイルは更新される(?)様で、まず kkcrcを最終の状態にするために emacsを再起動する。
emacsで kkcrcを開き編集する。
一見、チンプンカンプンに見えるが…よーく見ていると 意味 が見えてく。
(数字 t(数字 (数字 "候補の漢字群")))
となっている。
対応する括弧(~)が分かり難い場合は emacsのオプションで括弧のペアを確認できる。

f:id:b_b_b_b:20190304112505j:plain

例えば「しか」の場合↓の様に 6番目が前回採用され履歴となっている。
し か 6番目 ↓これ
(12375 t (12363 (6 "敷か" "如か" "若か" "及か" "鹿" "歯科" "市価" "史家" "雌花" "私家" "志賀" "子夏" "詩家" "紙価" "詞華" "賜暇" "翅果" "然" "飾" "爾" "餝" "四科" "知客" "詩歌") (12356 (6 "司会" "視界" "市会" "死海" "四海" "斯界" "志怪" "四界" "死灰" "尸解" "此界" "始交い" "始飼い" "始買い" "始歌意" "始下意" "始下位" "始甲斐" "私交い" "私飼い" "私買い" "私歌意" "私下意" "私下位" "私甲斐"))))
↑の場合、「しか」と、その後打ったが出ずにあきらめた「しかい」の履歴が入っている。
同様に「い」の履歴が↓の様になっている。
い 4番目 ↓これ
(12356 (4 "胃" "意" "異" "医" "位" "井" "伊" "委" "衣" "居" "射" "威" "亥" "夷" "姨" "洟" "痍" "維" "帷" "惟" "唯" "韋" "違" "偉" "緯" "幃" "圍" "囲" "慰" "尉" "熨" "蔚" "萎" "痿" "逶" "矮" "謂" "渭" "椅" "倚" "猗" "為" "爲" "彙" "彝" "彜" "以" "苡" "詒" "貽" "怡" "遺" "依" "易" "畏" "移" "堰" "莞" "詑" "胆" "猪" "鮪" "揖" "噫" "已" "恚" "懿" "矣" "肄" "頤" "饐" "鰄" "醫" "囗" "五" "ゐ" "如" "斐" "鋳" "鑄" "忌" "偽" "僞" "李"))
これらの履歴を削除する。この履歴を編集するために C-sC-kC-\しか →歯科 など kkcを用いて検索しても、問題ないようだ(履歴には残らない)。
・登録の確認
辞書、kkcrc共に修正したら emacsを再起動して「しかい」を変換してみる。
「歯科医」が出てくる。
…とまぁ、文章にすると大変な作業に見えるが…
意外と慣れてソソクサと登録出来る様になる。と言うか…人にもよるだろうけど…
20個も登録すれば、自分は事足りた。
#kkcrcなんて…結構、修正せずにポイっと捨てて作り直しているけどね。
そろそろ ~/.emacs.dフォルダを /mnt/homeに移動し、リンクしたた方が良いかもしれない。個人辞書を置いた事もあるし、kkcrcは単調増加するファイルだ。個人保存領域の圧迫につながる。

 

kkcを使っているもう 1つの理由。
NTEmacsIME対応版がいつでもあるか? 分からない。
例えば puppyでも[半角/全角]キーで SCIMAnthyが起動して日本語入力できる。
MS-IMEも同じ [半角/全角]キー。これに emacsも反応してくれるのが一番ベスト。
だって、emacsでも officeでも[半角/全角]キーで FEPを ON/OFFできるのだから、それが一番良いに決まってる。
GNUNTEmacsは標準的には MS-IMEには対応していない。
NTEmacsIME対応は、有志の「ネ申」が現れて都度 patchを当て提供してくれている。
将来的に本家(GNU)も対応してくれるかもしれないが、その可能性は低い。
と言うか…実は以前この patchを採用した時期があるらしい。しかしながら、他の 2バイトコード圏で問題があったのか? 不採用にもどされた経緯があるらしい(?どっかで読んだ記事)。
神が降臨し続けくれれば良いのだが…
#おまえが、神になれよ…それは絶対無理…orz

プリンタ:upupbb/cc

実はもうプリンタは捨てちゃったんだけど…Canon MG6330(無線接続)でプリント。

devx_〜***.sfsをロードしとく
これをロードした状態で Canonのドライバをインストールしないとちゃんとインストールされない(見た目は問題なくインストール終了するし…)。
インストールした後は、外して(システム→BootManager→SFS-パッケージ→右下のアイコン)も印刷されていた。
が、今後も同じ様な事でハマるのも疲れるので最近は付けっ放なし。

Canonから debのドライバを DL
・解凍して、

f:id:b_b_b_b:20190304111512j:plain

cnijfilter-common_3.80-1_i386.deb
cnijfilter-mg6300series_3.80-1_i386.deb
の 2つをクリックしてインストール

プリンタ登録
・セットアップ →PupControl panel →[Hardware] → Printer →[Install] →[Manage printers and ~]を押す。

f:id:b_b_b_b:20190304111626j:plain  f:id:b_b_b_b:20190304111638j:plain

・ブラウザが立ち上がる。
「Adding Printers and ~」→「Add Printer」
※後で最近気がついた。「Find Printer」選択すると見つかる。そーすると、以下の呪文など入れなくても設定される。ppdファイルの設定以降は同じ。

f:id:b_b_b_b:20190304111837j:plain  f:id:b_b_b_b:20190304111852j:plain

・Network Printersの項ならどれを選んでもよい様だが(?)…
Windows Printer via~」を選ぶ。

f:id:b_b_b_b:20190304112038j:plain

・LXTerminalで以下の 呪文を唱えると、
# cnijnetprn --search auto
network cnijnet:/2C-9E-FC-8F-6F-DE "Canon MG6300 series" "Canon-MG6300-series_2C-9E-FC-8F-6F-DE"

# cnijnetprn --installer --search auto
network cnijnet:/2C-9E-FC-8F-6F-DE "Canon MG6300 series" "IP:192.168.0.14"
こんな具合にプリンタ情報が入手できる。
・Connection:に「cnijnet:/2C-9E-FC-8F-6F-DE」を設定。

f:id:b_b_b_b:20190304112132j:plain

・適当に名前とか入れる。
よく分からんが 1度だけ自動的に設定されてた(?)
その時は、↑の cnijnetprnの情報から、
Name:Canon-MG6300-series_2C-9E-FC-8F-6F-DE
Description:Canon MG6300 series
と入っていた。

f:id:b_b_b_b:20190304112203j:plain

・メーカは Canonを選んで [Browse…]でインストールされた「/usr/share/ppd/canonmg6300.ppd」を指定して →[Add Printer]

f:id:b_b_b_b:20190304112246j:plain

・[Set Default Options]
そのまま。変更してない。

f:id:b_b_b_b:20190304112307j:plain

・これで登録されるので[Maintenance] →[Print Test Page]してみる。

f:id:b_b_b_b:20190304112327j:plain

RS-232c:upupbb/cc

wineで teratermを動かした。シリアル通信部分のみ備忘しておく。
単にシリアルやるだけなら、パッケージマネージャで minicomインストールした方が確実だな。

f:id:b_b_b_b:20190304111144p:plain

・使ったUSBシリアル変換器は CONTECの COM-1(USB)H。ただ刺しただけで認識されてた(dmesg)。
・後は、その tty~を wineの dosdevice に "com1"とかでリンクする。
・taratermから com1をつないで完了。
ただ…なんか受信はおかしい感じ…ダメか…

デスクトップ:upupbb/cc

デスクトップ(デスクトップ上で右クリックでも出る) →デスクトップ設定 →Tray
[↑] Steup Tray1 を選択。これで修正対象は画面上部に出ているメニューバーになる。
右上の[Apply]ボタンの下にリストされているメニューが上部メニューバーと同じ並び。

f:id:b_b_b_b:20190304110720p:plain

上部メニューは不要な時は hideにしたいので [Placement] →「Always visible」を「Hidden when not in use」→[Apply]

[左↓] Steup Tray2 を選択。これで修正対象は画面下部に出ているタスクバー。これもリストの内容とタスクバーの並びを見比べると分かる。

f:id:b_b_b_b:20190304110812p:plain

Tasklistは使っているアプリのメニューが並んでいるエリア。DockはFirewall~バッテリまでのエリア。Swallowは CPU稼働率 と言った具合。
このリストをマウスで上下させる事で順番を変更できる。また、右クリックでリストから削除する事もできる。
追加したい場合は左の [Menus]~[Spacer]のボタンでリストに追加される。

 

Firefoxのアイコンがなぜか JWMでは出ていない。
・セットアップ →PupControl panel →[Desktop] →Menu Managerの「Edit」で「mozilla-firefox.desktop」を読み込み Menu Iconに「/usr/share/icons/Puppy Standard/scalable/apps/firefox.svg」を設定。
#LXTerminalで / から find . -name "firefox*" でそれっぽいのを見つけただけ。

f:id:b_b_b_b:20190304110853p:plain

Tray設定 →[左↓] →[Buttons] →スクロールで「mozilla-firefox」→リストに並んだ「Button:Web Browser」の firefoxを表示したい位置にマウスで上下 →[Apply]で希望どおりにアイコンが配置された。

f:id:b_b_b_b:20190304110918p:plain

sdic:scpup64、upupbb/cc

苦労した…丸1日潰したわ…orz
左から "welcome" の英語を和訳 →和訳された "歓迎" を →英訳。ちゃんと和訳、英訳ともに動いた。

f:id:b_b_b_b:20190304110057j:plain  f:id:b_b_b_b:20190304110121j:plain  f:id:b_b_b_b:20190304110131j:plain
まさか sdicにこんなに手こずるとは思って無かった。
本来は Linuxらしくパッケージで構築するんだろうけど、NTEmacsも使ってるから面倒なんで、あっちで使っていた物をまとめて /usr/share/emacs25/site-lispに持って来た。
wlも w3mも すんなり動いたので気を良くしていたら…ガーン sdicが使えん。色々調べて見ると…utf-8が原因だった。

 

gccや makeは devx_〜.sfsを入れれば使える(scpup64は kernel_headers-***.sfsも入れた方が良いかも)。

sdicの本家から必要な物を入手
・sdic-2.1.3.tar.gz
gene95.tar.gz
・edict.gz

nkfの導入
・Puppyパッケージマネージャで nkf_2.1.4 →[Do it!] 

 

こーやった。
・sdic-2.1.3.tar.gzを解凍して INSTALLの記載通り。
# cd sdic-2.1.3
gene95.tar.gzと edict.gzを sdic-2.1.3フォルダに入れて、
# ./configure
# make clean
# make
# make install
# make dict
・ここで生成された gene.sdicと jedict.sdicを utf-8-unixに変換する。emacsに読み込んで c-x RET f utf-8-unix で保存する。
# make install-dict で完了。
・インストールされた *.el(elc)や辞書は…path通さんとだめだし、NTEmacsと同じにしたかったので全て /usr/share/emacs25/site-lisp/sdic213以下に移動。
・init.elは NTEmacsで使っていたのを参考に。ただ、utf-8-unixにしたので ★の 2行を追加
-------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sdicの設定
;
★(setq sdic-default-coding-system 'utf-8)
★(setq sdicf-default-coding-system 'utf-8)
(autoload 'sdic-describe-word "sdic" "英単語の意味を調べる" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソルの位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)
;; 辞書
(setq sdic-eiwa-dictionary-list
'((sdicf-client "/usr/share/emacs25/site-lisp/sdic213/gene.sdic")))
(setq sdic-waei-dictionary-list
'((sdicf-client "/usr/share/emacs25/site-lisp/sdic213/jedict.sdic")))

(defvar sdic-disable-select-window t "*Option to disable to select other window.
検索結果表示ウインドウにカーソルを移動しないようにする場合は nil 以外を設定する")

(defvar sdic-face-color "blue" "*Color of entry.
見出し語を表示するために使う色")
-------------------------------------------------------
以上、ご苦労さまでした。orz