投稿

2019の投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

大容量(900GB/月)格安SIM

イメージ
900GB/月のSIMを利用中 10月に見つけた格安SIM。 あまりに安いので、色々と下調べを行った上で、11月よりテスト運用を開始してみた。 Softbank回線で、縛りなしのデータ通信用SIMです。 3GB/日  2700円/月 300GB/月 3200円/月 900GB/月 3300円/月 というプランが有るので、迷わず900GB/月を選択しました。 単純に計算すると、30GB/日なので、実質無制限状態です。 もちろん、3日で何GBとか、変な制限はありません。 1ヶ月単位での契約が可能なので、様子見で1ヶ月の契約をしたものの、あまりに速度が出るので、すでに延長フェーズに入っています(笑) 気になる速度ですが、なるべく混雑する時間帯を中心に速度を計ってみました。 調子が良いと、100Mbpsを超えます。 平均すると、Down:48.7Mbps Up:17.0Mbps 普通に使用するには全く支障のないレベル。それも、昼夕の混んでいる時間帯を中心に測定してです…。 12月にXiaomiのスマートフォンに変更し、引き続きこのSIMを使って計測してみました。 (かなり飽きてきたけど…) 平均すると、Down:35.7Mbps Up:12.4Mbps でした。 途中自宅のWi-Fiも測定していますが、さすがにWi-Fiは早いですww およそ300Mbpsなので、いい感じです。 LTEでも30Mbpsは出ているので、普通に使用していて遅く感じることは全く無いです。 大容量だと使い方が変わる  これまで、AmazonPrimeのVideoはダウンロードしておいて視聴していたのだけれど、いまはダウンロードなんて全くしていないです。  見たい時に見たい映画を視聴する利用の仕方になりました。 写真や動画をGoogle Photoに保存するのもの、今まではWi-Fi接続時ということにしていましたが、今は常に同期です。 テザリングでPCから利用する場合も、容量を気にすること無くUpdateやダウンロードを行えるようになりました。  出先では安全性のため公衆Wi-Fiを使わないようにしていたので、テザリングばかりすると容量制限がたまに

クラウドストレージはどこがいいのか?

イメージ
すでに大量のクラウドを利用しているが… どれも一長一短ではあるが、速度が早くて安くて安全なものが望まれる訳で…。 とはいいつつ、一体自分がどれだけ利用しているのか確認してみた。 Dropbox(14GB) Evernote(転送量の縛りのみ) Mega(50GB) GoogleDrive(19GB) OneDrive(1TB) OwnCloud(100GB) iCloud(5GB) ASUS(5GB) box(50GB) ざっと上げただけで、こんなに使っていた。 といっても、iCloudはiPhoneを使えば即溢れる、Dropboxは無料枠を広げたものの、いつもアラートが出るくらい溜まっている。 最近は、Office365を使うようになってOneDriveの割り当てが増えたので重宝している。 でも、いつまでもMicrosoft Officeを使うかどうか分からないので思案している。 Googleが1TB→2TBに容量をアップしたので、比較的安いよな〜と思っていたのだが… やすいと言っても、年額13000円。 そこへASUSからDMが舞い込む 以前、ASUSのZenfoneを使用した時に、アカウントを作成し利用しただけだったのだが、今回1TBに割り当て増やしたよ!とメールが来た。 ただし、30日間だけねって…。 よく読んでみると、ものすごく安い! ファイル履歴もついて、1480円/年とな! これは、ちょっと価格破壊的な料金設定な気がするレベル。 少し考えても良いかなって心が揺れました。 WebStorageなので、DropboxやOneDriveみたいに、ローカルマシン用のツールは出ていないはず。 だけど、もし出ているかLinux上からマウントして利用できるなら、選択肢に入れても良いかなと…。 と思って、ASUSの自分のアカウントを開いてみた。 何と!ちゃんとクライアントツールが出ていた。 しかもLinux版まで。 さすがだ! ということで、本格的に検討してみる。

PHPでsnmpを叩く

snmpを実際に使ってみる 前回、「 WindowsでSNMPを試す 」ということで、Linuxマシン上のsnmpwalkを使用して情報を取得できることは確認した。 今回は、PHPで無理やり情報を取得してみる。 本来はPHP上のsnmp用関数を利用するのが良いのだろうが、前回snmpwalkが動作するのを確認しているので、子プロセスで動かして情報を拾ってみる。 今後、Web上に出力するとかファイルん書き込むとか、Nativeの関数もあるといううことでPHPを選択してみた。 さっくりとテストコードを書いてみる。 ターゲットは、BuffaloのNAS、「TeraStation」にしてみる。 こいつは、設定でSNMPをONにすることで、ちゃんと返してくれるらしい。 <?php $cmd = "/usr/bin/snmpwalk"; $version = "-v2c"; $comunity = "TeraStation"; $ips = ["192.168.11.86"]; $oids = [     "1.3.6.1.4.1.5227.27.1.3.1.3.1"=>"GB",     "1.3.6.1.4.1.5227.27.1.3.1.4.1"=>"%" ]; foreach($ips as $ip){     foreach($oids as $oid=>$dummy){         $temp = exec("{$cmd} {$version} -c {$comunity} {$ip} {$oid}");         $values[$oid] = substr($temp,strrpos($temp," ")+1);     } } echo date("Y-m-d H:i:s "); foreach($values as $key=>$value){     echo &

sushi使用時のフリーズ

Gnome-sushiを使っていて Macを使っているとQuick Look(ファイルやフォルダを選択してスペースキーを押すとプレビューしてくれるソフト)がとても便利。 Ubuntu Desktopを使用する場合も同様なソフトを入れている。 それが、Gnome-sushi (なんで寿司なのかは不明だけど、海外の人には人気らしい、他にもchirashiとかnigiriとかtekkaなんて名前のアプリが存在するのは笑える) こいつは、かなり便利なんだけど、時々フリーズする。 いつフリーズするかと言うと、MS製のOfficeファイルをプレビューする時。 しかも、旧ファイル形式の時だけということに気づいた。 つまり、「〜.xlsx」はフリーズしないけれど、「〜.xls」はフリーズする。 同様にdoc/pptはフリーズすることがわかった。 自分はそんなファイルを作らないので、気が付かなかったが、客から送られてきたファイルをプレビューしようとして気づいた。 こうなると、全く操作ができなくなる。 マウスが反応しなくなる。 コンソールを切り替えて、sushiプロセスをkillしたり、再起動したりという作業となる。 で、注意して開くようにしていたんだけれど、間違って開いて再起動という手順が苛立つ。 状況はわかってきたので、原因を探してみる。 「 gnome-sushi freezes my computer when trying to preview .odt-files 」という記事を見つけた。 Hi, I had exact the same problem and solved it by installing the unoconv converter (apt install unoconv). Hope that helps, cheers とな…。 とりあえず、unoconvを入れてみると、多少Previewまでに時間がかかるものの、フリーズしなくなった。 unoconvって? 「Universal Office Converter」ってことらしい。 "unoconv"は、さまざまなオフィス文書ファイル形

Unetbootinが正常に表示されない

イメージ
Bootable USBを作成しようとしたが… Ubuntuマシンで、起動用のUSBディスクを作成しようしとして、ランチャーからUnetbootinを起動したものの、のっぺりとしたフォームが表示されるだけで??? おかしい…。 ちゅうことで、最新パッケージかどうかを確認する。 $ sudo -s # apt update # apt upgrade 特に、古くはないようだ…。 そのまま、コンソールから実行してみる。 # unetbootin X Error: BadAccess (attempt to access private resource denied) 10   Extension:    130 (MIT-SHM)   Minor opcode: 1 (X_ShmAttach)   Resource id:  0x13a X Error: BadShmSeg (invalid shared segment parameter) 128   Extension:    130 (MIT-SHM)   Minor opcode: 5 (X_ShmCreatePixmap)   Resource id:  0x420000f X Error: BadDrawable (invalid Pixmap or Window parameter) 9   Major opcode: 62 (X_CopyArea)   Resource id:  0x4200010 おや、エラーが出ている…。 まあ、調べてみるかと「X Error: BadDrawable (invalid Pixmap or Window parameter) 9」でググってみると、たくさん出てきますな。 「 BadDrawable (invalid Pixmap or Window parameter) #53 」という記事を見ると、同じような症状がいろんなソフトウェアで出ているらしい。 export QT_X11_NO_MITSHM=1 を実行する必要があるらしい。 QT関係はいつも環境変数が不足していて動かないことが多いな…。 と思いつつ

Huaweiの修理体制が神!

イメージ
修理が完了した 前回「 バッテリー膨張 」でまとめたその後。 バッテリー膨張を連絡→代替機到着→自機送付 ここまでが、前回経過だが、その後まとめる時間がなかったので、ちゃんと記録しておく。 一応、見積依頼→電話もしくはメールで連絡→価格によっては修理 と想定し、その旨連絡してあった。 ところが、連絡のないまま、宅配が届いた。??? 開封すると、自機が修理されている。 同封の報告書を確認すると以下のように記載されていた。 つまりは、バッテリーの膨張確認→交換→動作検査→ご請求額:0.00 なんと! 保証外修理なのに請求なし! ちょうど、ファーウェイがバッテリー交換半額プログラムを開始するというアナウンスが流れてきたタイミングだったのも影響しているのかもしれない。 バッテリー修理の連絡が多くて、早目に交換したいのかもなぁなどと想像しつつも、神対応に感謝します。 代替機も貸出し、修理は保証期間外なのに無料…。 このまま頑張ってほしいなぁ。 応援しますゎ。 再度、PhoneCloneで代替機→自機にアプリ等コピーして、動作確認する。 代替機は宅配で送って完了!

WindowsでSNMPを試す

イメージ
標準のツールでどこまでできるのか? snmp(Simple Network Management Protocol)を使えば、各種情報が取れるのは知っているけれど、実際に試す機会がなかったので、色々とテストしてみた。 客先に提案するのに、下調べが必要なのだ。 Windowsマシン自体を持っていないが、仮想マシンで動かしているので、それでテストする。 環境は以下の通り。 ホスト:Ubuntu18.04(192.168.1.203) ゲスト:Windows7 pro(192.168.1.172) とりあえず、7も10もほぼ同じらしいので、いつも使っているWindows7でテストする。 まずは、標準のsnmpをインストールする。 コントロールパネル→プログラム→Windowsの機能の有効化または無効化→簡易ネットワーク管理プロトコル(SNMP)→WMI SNMPプロバイダー 続いて、最低限の設定。 コンポーネントサービス→サービス(ローカル)→SNMP Serviceのプロパティ→セキュリティ→コミュニティに「public」を追加→ホストに「情報を取得する側のマシンIPを追加」 実際に叩いてみる $ snmpwalk -v 1 -c public 192.168.1.172 1.3.6.1.2.1 ああ、もう何から何まで丸裸…。恐ろしい。 すべてのホストから受け付けてはいけないということがよく分かる。 以下一部のみ抜粋 iso.3.6.1.2.1.1.1.0 = STRING: "Hardware: Intel64 Family 6 Model 42 Stepping 7 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)" ←OSバージョン名  : iso.3.6.1.2.1.1.5.0 = STRING: "w7-vm" ←ホスト名  : iso.3.6.1.2.1.25.3.2.1.3.1 = STRING: "Send to Microsoft OneNote 16

バッテリー膨張

イメージ
危険な状態 HuaweiのP10plusは、本当にカメラの出来が良くて愛用していた。 だけど、急にバッテリー膨張により、液晶の中央部分が膨らんで反ってきた。 これは、まずい…。 液晶の破損も起こりうるし、リチウムイオンバッテリーの爆発も起こりうる。 ということで、早速サポートにオンラインチャット開始。 状況を説明したら、とりあえず送ってくれと。 代替機はないかと聞くと、あるという返事! (前回修理したときには、そんなものは無いと言われたけれど、サポート体制が変わったらしい) で、Huaweiの送料持ちで、代替機と修理・見積もりの用紙、着払いの荷札まで同封して翌々日に届いた。 届いた代替機は「Mate9」で、見慣れた機種だった(笑) (2年前に液晶を割ってお釈迦にはなっていないが、バックアップ用の機種として保管したものと同じものだ) 普通に使うには、そこそこ性能も良く、キビキビ動く。 HuaweiのPhone Cloneというコピーツールで、端末をそのままコピー。 一部対応していないアプリとLINEだけ引き継げば、ほぼ完了。 ものの1時間で、代替機の準備が整った。 あとは、P10plusを梱包して、クロネコの集荷を手配して完了。 さて、修理可能だとは思うが、料金がどうなるか…。 あまりに高いのであれば、これを機に買い替えも視野に入れて楽しむことになる。 そうそう、8/1〜Huaweiはバッテリー交換キャンペーンで、半額で交換してくれるらしいので、案外それくらいの金額(約3500円)で、やってくれるかもしれない。 一部の書き込みを見ると、無料だったという情報もあるし…。 このところ、政府レベルで叩かれているせいか、コンシューマーにはサービスが良くなっているような気がしているので、少し期待。

大量のパスワード生成

イメージ
良くあるんだけど… 客先のサーバの管理をしていると、アカウントの作成依頼が時々くる。 どうやって管理するかと言うとExcelやGoogle Spreadsheetに ユーザ名・パスワード、氏名、作成日などを記録しておく。 ユーザ名は、氏名から作成するので問題ないがパスワードはあらかじめ余分に生成して記録しておく。 使っていないパスワードが、あと1〜2個になったら、さらに生成して追記している。 ところが、パスワードをまとめて作れば作るほど、間隔が伸びるので作り方を忘れてしまう。 以前は、PHPで書いて、WEBアクセスで指定個数分出力させる方法も取っていたが、ブラウザを起動するのが面倒だ。 たまには、Commandの使い方の解説も含めて、記録しておこうと思う。 パスワードの作成 $ pwgen これで、160個のパスワードを生成してくれる。(図) ただしオプション無しだと本当にランダムに生成するので、たまたま強度の弱いパスワードが生成される。 そこで、通常は次のようなオプションを付加する。 $ pwgen -Ccns とか $ pwgen -CcnsB とか・・・ 使い方は以下の通り Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ] Options supported by pwgen:   -c or --capitalize Include at least one capital letter in the password   -A or --no-capitalize Don't include capital letters in the password   -n or --numerals Include at least one number in the password   -0 or --no-numerals Don't include numbers in the password   -y or --symbols Include at least one special symbol in the pa

Ubuntu18.04の動作異常の対策

またもや異常な状態に…解決したか? 少し前から、異常な状態に悩まされている。 「 ubuntu18.04の動作異常 」 「 18.04の異常再発生 」 4月・5月に原因不明で、動作がおかしくなっている。 主な現象としては、 Terminalが起動できなくなる(起動しようとして失敗する) 「ファイル」が起動できなくなる(同上) Logoff→loginで起動時にKeyringのロック解除で失敗する という感じだ。 ついでに、Vivladiを起動中にchromeを起動しようとすると、なぜかVivaldiが起動する。 逆に、chromeを起動中にVivaldiを起動すると、chromeが起動する。 これは、最初のKeyringの影響なのか、そうでないのか不明…。 今回も、突然Terminalが起動しなくなったので、またか…と思い、上記動作を試して異常が起きているのを確認。 再度、いろいろな情報を探してみるが、良い方策が見つからない(泣) とにかくKeyring関係が怪しい 端末が起動しないことや、ログイン時のキーリングが解除できていないことから、どうもパスワードなどを管理しているキーリングが怪しい感じ。 そこで、思い切って削除してみることにした。 どうせ、一時的に保管しているパスワードばかりなので、最悪手入力すれば済む。 WEB系はLastPassを使用して、Cloud共有しているので、マスターパスワードさえ管理していれば、選択するだけでユーザ名やパスワードは入力できるので、それほど面倒でもない。 # apt remove gnome-keyring はい、思い切って捨ててみました。 さて、rebootで再起動。 GUIが起動しなくなった(泣) keyringを削除したら、CUIでのログイン画面になって、GUIが使えなくなった。 正直少し焦った。 まあ、コンソールは日本語表示ができないけれど、正常に動作するので、慌てずに復旧作業を行う。 # less /var/log/apt/history.log で、操作履歴を確認。 Start-Date: 2019-06-07  18:04:

Arduino Ethernet Shield2ではまる

イメージ
Arduinoの通信環境テスト OpenHardのArduinoで、Ethernet上の通信を行う開発案件があって、 Switch Science から「Ethernet Shield2」を購入。 自前のArduino MEGA2560に接続。 DHCPからIP取得させるも、取得IPが0.0.0.0のままで、正常にIPが取得できない。 色々とソースコードを変更したり、Hubを変えたりしたものの、うまく行かない…。 いろいろと調べてみると、MEGA2560側に問題がある場合に同様の症状が出ているとの書き込みを発見。 古い上に、Revision2なので、それが問題かもしれない…。 UNOを購入 仕方なく、今度はArduino UNOを入手してテストすることにした。 ちなみにUNOは永久保証になってて少々びびった(笑) 3000円程度の品なので、気にせず購入。 2日ほどで到着したので、早速装着→テスト。 今度は、IPの取得表示までは完了した。 やはりMEGA2560側の問題だったらしい。 さて、本当に通信できるかと、定番のpingを試すと、Unreachableとな…。 むむむ…。 UDPもTCPも正常にパケットが届かない…。 交換依頼 念の為、開発元から実際に使用するArduino DUEが届いたので、こちらでもテスト。 UNOと同様IP取得までは行くのだが、その後一切の通信ができない。 おかしい・・・ ということで、購入元に連絡する。 交換を依頼したけれど、代替品を送るので、動作確認したら古い方を破棄してくれとのこと。まあ、この金額のものに、送料2台分負担したら馬鹿馬鹿しいことになるから、そりゃそうだわなぁと。 で、2日後到着。 早速テストを行う。 Ethernet Shield2 2台目 最初からDUEに接続。 状況は変わらず…。 そもそも、PINGが通らない。 そこで、最低限のDHCPクライアントを書き込んで動作検証からやり直す。 IPは取得できている。 Routerのログで、IPがリースされているのも確認。 MacAddressも一致している。

MacのHDD死亡

イメージ
こんなのはトラブルとは言わない iMacに接続してある、外付けHDD(データ用)が突然逝った。 サーバのデータや、念の為のローカルバックアップを行っている、1TBのDiskだった。 で、客先サーバのバックアップをして、完了を確認している。 その後、非常勤の授業で過去使ったプログラムを確認して、使えそうなものを手直ししようと思い…。 あれっ? DISKのアイコンがなくなっている??? さっき使用後にアンマウントはしていないはずなのにな… (コンソールで作業しているので、間違いはない) ケーブルが抜けたか?とも思ったが、確認しても問題なく繋がっている。 DISKの通電LEDも点灯している。 一旦USBを抜き差ししてみると、DISKが反応している。 何だ…。アンマウントしてしまったのかと…。 でも、HDDのアイコンは見えない。 ディスクユーティリティでも存在自体が確認できない。 あぁぁ、逝ってしまったのか… まずやることは、これまでのデータがバックアップできているか? という確認だ。 以前、TimeMachine用のHDDが壊れ、3TBに変えた際、外付けもバックアップ対象に設定している。 なにせ、本体1TB+外付け1TBの状態で、3TBを購入したからだ。 TimeMachineに入ると、無事にバックアップが取れている。 これで一安心だ。 早速新規HDDを手配 死んだのはI-O DATAのディスクだ。 最近、同社のHDDが逝ったという話をよく聞くが、品質管理が落ちているのだろうか… 今度はBUFFALOを選択。 4TBで9980円。安くなったものだ。 注文して、翌日には手元に届いた。 さすがAmazon。 お世話になってます。 すぐに、HDDを接続。 NTFSでフォーマットされていたので、Mac用にフォーマットし直す。 今は、APFSが使えるので、とりあえずこれで設定。 そして、マウントする。 無事に認識しているし、読み書きもできるのを確認して、バックアップから書き戻す。 これまでの全てを書き戻しても、4倍の容量があるので、すかすかです。 実際に1TB使っていたわけではないので、余裕があって、しかも速い気がする。

18.04の異常再発生

イメージ
Ubuntuが不調 先月、デスクトップが おかしくなったという記事 をまとめたが、またもや発生。 おかしいと気づいたのは、開発をしていて、複数のブラウザを起動した時だった。 通常使いのVivaldiで作業を行って、動作確認していた。 Firefoxも起動し、表示に異常がないかを確認。 続いてChromeを起動しようとしたら、なぜか新規にVivaldiが起動した。 ランチャー上の登録が上下なので、クリックし間違えたか?と思い、再度起動するもやはりVivaldiが起動する。 明らかにおかしい…。 仕方なく、すべてのVivaldiを完全に落として、Chromeを起動してみる。 今度は起動した。 しかし、続けてVivaldiを起動しようとすると、Chromeが起動してしまう。 嫌な予感! プロセスを確認しようと端末を起動するが、起動しない。 全く動作しないのではなく、起動プロセスの途中で、落ちている感じ。 再起動してみる 一旦、再起動を行って様子を見てみる。 すると、ログイン後に以下の画面が…。 そんな訳ない! いままで使用していたし、これまでログイン後に聞かれたこともない。 まあ、一応パスワードを入力すると、普通通りに起動した。 でも、ブラウザの起動は異常だし、端末は相変わらず起動できない。 仕方なく、vscodeのターミナルで作業を行ったりする。 これが起動してくれるだけでもありがたい。 今回別の方法は無いかと探してみた。 デスクトップで[ALT]+[F2]を押すことで、コマンド入力になる。 ここに[r]と入力しEnterを押すことでリセットしてくれるらしい。 →結果的に効果なし この1ヶ月、主に使用しているのは、VScode,Vivaldi,Firefox,Chromeとそれぞれの開発ツール、Postmanにtypora、Thunderbirdなどごくごく一般的なツールばかりなので、原因がわからない。 仕方なく、.cacheを全削除。 chromeとvivaldiのユーザ領域の全ファイル削除。 →効果なし やはり、前回同様、gnomeの設定をリセットするしか無いようだ…。 →結局、これが効果あり $ unity-tweak-tool --reset-

Thinkpad X390入手 #2

参考になるかどうかは分からないが… 新規にOSを入れたあとに、行う作業と、入れるソフトを紹介しておこうと思う。 まずは、日本語フォント。 お気に入りはMigu 1Mを標準フォントにしている。 でもって、日本語変換のMozc用の辞書を追加。 次にブラウザ。 主に使用しているVivaldiと仕事の確認用にChrome。Firefoxは標準で入っている。 Pluginとして、それぞれLastPassとPocket、Pushbulletを入れておく。 これで、どのブラウザを利用しても、アカウント情報は同一だし、記録はPocketに、携帯とのやりとりはPushbullet経由だ。 UbuntuにはLibreOfficeが標準で入っているが、これ以外にKingsoftのWPSを入れておく。 Excel,Wordの互換性はなかなか高いのと、サクサク動くのがいい。 念の為、ブラウザにOffice Onlineの拡張を入れておく。 Office365の正規ユーザなので、OneDrive経由でファイルのやり取りなど使い勝手は良い。 次に言語 Perl , Ruby ,PHP , python3のバージョンを確認しておく。 最近テストしているGoも動くようにしておいた。 Editorは最近vscodeで統一している。 拡張機能は、.vscode以下をコピーして終了。 具体的には、WEB系、言語系、テキスト系でよく使用するものに限定している。 文書作成用にTyporaとオリジナルCSSを導入。 Markdown使えないと、ドキュメント作成が大変すぎる。 残りは、サーバ系とツール類かな Node.js , Apache2 , MySQL , など。 仕事に合わせて若干は入れ替わったりするけど、ほぼ定番を入れている。 これだけやっても、OSと併せて1時間強。 もう、Windowsでの作業は嫌になりますねぇ。

Thinkpad X390入手

イメージ
注文後納品まで20日 今回、ちょっと予算があったので、3月末にオーダーをかけました。 出て間もない、Thinkpad X390です。 core-i7 8th です。 もちろんカスタマイズしています。 SSDを500GBに、メモリを16GB。そしてキーボードはUSバックライトに。 それ以外は、絞ってLTEも指紋認証も抜いています。 外装はカーボンブラックにしたので、シックないい感じですねぇ。 これまでのX240は予備機に 年末に手配したx240はcore-i5 4thで、メモリが8GBなので少々重い処理を行ったときに苦しいことが多々ありました。 もちろん、文書作成や、資料作成程度であれば何も問題はないのですけど… ということで、環境は残したまま息子に貸与することに。 といっても、Ubuntuしか入っていないので、少し使い方を教えておきました。 早速steamで遊んでいるようですが… でもって、今回のX390は、X240とほぼ同サイズでかつ薄くなっている感じで、ディスプレイが12.5インチから13インチ強になってます。 唯一の欠点は、有線LANコネクタが無くなり、メディアポート経由のアダプタ経由でしか使えないことですね…。 まぁ、世の中無線が主流になりつつあるので、これはこれで慣れるしかないかと思ってます。 開封の儀 4月20日に届いたのですが、忙しくて少しずつセッティングを行っています。 まあ、一式でこれだけです。 電源はUSB-TypeCです。今時ですね。 これまでのACアダプタが使えないので、変換器を探してます ベゼルがかなり狭いので、強度が不安でしたが、実際に触ってみると何も問題ないです。 インストール作業 もちろん、Windows10は使わないのですが、プロダクトキーなどを調べて控えておきます。仮想マシンで使用する可能性がありますんで…。 Ubuntu18.04のUSBを作成して、USBブートすりゃ、15分程度でインストール完了。 CPUの速さとSSD構成で、超気持ちいいです。 既存のデスクトップマシンから、.bashrcや.bash_profile、.ssh以下のconfig

ubuntu18.04の動作異常

メインのマシンがおかしい… 開発で使用しているメインマシンのUbuntu18.04が朝からおかしな動きをするようになった。 Vivaldiを起動したまま、chromeを起動すると、Vivaldiが立ち上がる。 どうやってもchromeを起動することが出来ない。 設定で、デフォルトのブラウザをchromeに変更し、再ログイン。 chromeは起動するが、今度はvivladiを起動することが出来ない。さっきのchromeと同様。 端末を開こうとすると、起動途中で落ちて開かない。 「ファイル」も起動しないので、ファイル操作がCUIもGUIも不可な状態 再起動後も変化なし 他にも、あるかもしれない。 さて、原因だが思い当たる節は…。 昨日wps for linux(kingsoftのOffice)の新板が出ていたのでインストールした。 ところが、起動直後日本語入力が出来ないことに気付く。  あれれ?と思い、同様な症状の時に、ibusではなくfcitxで以前動いた記憶がある。 そこで、fcitxとfcitx-mozcを入れて動作確認。 それでも上手く行かないので、アンインストールしたくらいか…。 その前だと、Virtual BoxでWindows10のUpgradeを行って、Office 365を入れた後から、急に動作が緩慢になって、Ubuntuを強制断したくらいだ。  でも、その後正常に動作するのを確認しているし、VMのWindows10のチェックも問題なかったのになぁ。 端末が起動できない というのは、非常に問題がある。 とにかく、ファイル操作が出来ないので、設定ファイルの確認もできない。 何とかならないかと考えた末、試していたら、VScode内のコンソールは起動できた。そこで確認・操作を実施することに。 エディタ内のコンソールなのだけれど、動作はbashが起動しているので、端末と全く同じ環境。 ふ〜。 さて、logを見ると、変なエラーやmessageが大量に… gnome-shell[21912]: Object St.Button (0x5561370d34b0), has been already finalized. Impossib

ソースコードを読んで解決

些細なミスでハマった ある案件で、FuelPHPを使って開発していた。 ローカルマシンのApacheとMySQLを使った標準のWebアプリ。 ただ、今回はじめてまともにFuelPHPを使ったので、若干なれるのに手間取った。 さて、良い感じに仕上がってきて、本番環境に準備してデプロイすることに。 お客さんがこれまで使っているというSAKURA Internetのレンタルサーバを追加で借りてもらい、設定することに。 SAKURAサーバを使ったことがある人は分かると思うんだけど、MySQLが別サーバになっている。 でもって、契約してあるサーバからしか接続が出来ない仕様。 まぁ、これも理解できる。 そこで、FuelPHPのconfigにあるdb.phpを新規に編集する。 config-----------db.php  +- development--db.php  +- production---db.php 共通の設定などは、config直下のdb.phpに書いておき、開発用、本番用と別々の設定で運用できる。 共通のdb.php <?php return array(  'default' => array(    'type' => 'mysqli',    'connection' => array(      'host' => 'localhost',      'port' => '3306',      'database' => 'dbname',      'persistent' => false,      'compress' => true,    ),    'identifier' => '`',    'table_prefix' => '',    'charset' => 'utf8',    'e

これは使える!テキストツール csvq

GO製 csvq いつも使えそうなツールをチェックしているのだけれど、久々に使えるものを入手した。 csvファイルをDBのように扱い、sqlで操作可能にする。 https://github.com/mithrandie/csvq インストールはBinaryをダウンロードしてPATHの通ったところに置いて完了。 ちなみに、他の人はどうしているのか分からないけれど、どこに置くのかというのはいつも悩ましい所。 /usr/bin /usr/local/bin あたりが、多いんでしょうか…。 まあ、マルチユーザの場合、パッケージなどで入れたものは、/usr/bin以下に入るだろうし、buildするタイプなどで作法の良いものなら/usr/local/binなどに入れるのが普通だろうなぁ。  自分の場合は、個人で使用する場合や自作のもので、一時的に使うモノは、~/bin というフォルダを作成していて、ここにポイッと入れて動作テストなどしている。 もちろん、PATHを通しておく必要が有る…。 さて、解凍してcsvqをbin以下に入れれば即実行できる。 こいつ強力すぎる! 実際に試してみると、こいつは便利だ。 試しに次のようなデータを作成してテストしてみた。(user.csvとscore.csv) データを一覧したければ、 $ csvq > select * from user; +----+--------+-----+-------------+ | id | name | age | tel | +----+--------+-----+-------------+ | 1 | user1 | 20 | 01011112222 | | 2 | user2 | 21 | 01011113333 | | 3 | user3 | 22 | 01011114444 | | 4 | user4 | 23 | 01011115555 | | 5 | user5 | 24 | 01011116666 | | 6 | user6 | 25 | 01011117777 | | 7 | user7 | 26 | 010

異なるマシンで403 forbiddenが発生する

API関連のプログラムを作成中に RESTfulなAPIを作成して、テストしているのだけれど、ノート上では通ったテストがデスクトップ上のマシンだと通らない事象が発生…。 なぜか、403 forbiddenが返ってくる。 まずは、ブラウザでPOST/GETのテスト。 問題なく動作する(これはこれで、なぜだ…) なので、動いているかと思い、PUT/DELETEなどのmethodもテストする。 ブラウザでは無理なので、 Postman を使っている。 ノートでは、正常にレスポンスが返ってくるのに、デスクトップだとエラー。 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html>     <head>         <title>403 Forbidden</title>     </head>     <body>         <h1>Forbidden</h1>         <p>You don't have permission to access /~yoshimura/xxxxx/api/yyyyy/12345 on this server.             <br />         </p>         <hr>         <address>Apache/2.4.29 (Ubuntu) Server at localhost Port 80</address>     </body> </html> なんで〜。 念の為、ログを見る。 ::1 - - [02/Feb/2019:12:17:44 +0900] "POST /~yoshimura/xxxxx/api/yyyyy/12345 HTTP/1.1" 200 198 "-" "PostmanRuntime/7.4.0" ::1 - - [02/Feb/2019:12:19:00 +0900] &

xmodmapのエラー回避

xmodmapがエラーを吐く 前回キーボードの購入ミスで、Keymapを変更することで対処したのだが、端末を開くたびに実行させるとエラーを吐くことが判明した。(→ 前回の記事 ) 通常キーの変更は、何度設定しても問題ないのだが、modifier keyの変更はだめらしい。 Alt_Rを外す処理のところで、エラーが発生する。 xmodmap:  .Xmodmap:1:  bad keysym in remove modifier list 'Alt_R', no corresponding keycodes xmodmap:  1 error encountered, aborting. 表示を無視する手も有るけれど、スマートじゃないので、ちゃんと処理しておこう。 xmodmap | grep "Alt_R" | grep "mod1" > /dev/null 2>&1 if [ $? == 0 ]; then xmodmap ~/.Xmodmap fi grepかけて、出力に含まれるかで判断しておく。 もちろん、出力結果は不要なので、/dev/nullにすてておく。 これで、mod1にAlt_Rが残っていたら、削除して、keymapを変更 残っていなかったら、何もせず終了。 これを、前回書いた、.bashrcの1行と置き換える。 Logout→Login、再起動後のlogin、最後に端末を複数開けたりしても問題ないのを確認して、ミッション終了。 ちょっとしたことでも、ちゃんと書いておくと気持ちよく過ごせるね。