くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

fcitxで「正しくfcitxに接続できません。」エラーが発生したときの対応

環境

  • ASUS Chromebook Flip C100PA のcrouton環境

現象

  • fcitx-diagnose すると出力結果の中に「正しくfcitxに接続できません。」というメッセージが含まれる。
  • fcitxを起動しようとしても Connection Error が出て起動できない。

原因

dbus-launch コマンドがないことが原因っぽい。

対応

dbus-lanch コマンドをインストールする。 (パッケージは dbus-x11 )

$ sudo apt install dbus-x11

参考URL

rxvt-unicodeでシェルをログイシェルとして起動する方法

環境

  • ASUS Chromebook Flip C100PA のcrouton環境
$ uname -a
Linux localhost 3.14.0 #1 SMP PREEMPT Tue Oct 31 22:00:25 PDT 2017 armv7l armv7l armv7l GNU/Linux
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

設定

デフォルトの状態ではurxvtはログインシェルとして起動せず、 .profile.bash_profile が読まれない。 ~/.Xdefault に設定を記述することにより、ログインシェルとしてターミナルを起動することができる。

~/.Xdefault

urxvt*loginShell:  true

いじょ。

参考URL

rxvt-unicodeでシェルをログイシェルとして起動する方法

環境

  • ASUS Chromebook Flip C100PA のcrouton環境
$ uname -a
Linux localhost 3.14.0 #1 SMP PREEMPT Tue Oct 31 22:00:25 PDT 2017 armv7l armv7l armv7l GNU/Linux
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

設定

デフォルトの状態ではurxvtはログインシェルとして起動せず、 .profile.bash_profile が読まれない。 ~/.Xdefault に設定を記述することにより、ログインシェルとしてターミナルを起動することができる。

~/.Xdefault

urxvt*loginShell:  true

いじょ。

参考URL

標準出力を他のターミナルに繋げて遊ぼう

複数のターミナルを開き、tyyを接続して遊びましょう。

あそんだ環境

  • WSL(Ubuntu 16.04.2)

遊ぼう!

※スクリーンショットを撮りやすくするためにtmuxを使っていますが、別ウィンドウにしてもちゃんと遊べます。

1. それぞれのttyの確認

$ tty

f:id:kunst1080:20171101233000p:plain

使用しているttyは

  • 左側: /dev/pts/0
  • 右側: /dev/pts/1

ですねっ♪

2. 左側のターミナルの標準出力を右側のターミナルに接続

$ exec 1> /dev/pts/1

3. なんかコマンド叩いてみます。

$ toilet UNKO

f:id:kunst1080:20171101233017p:plain

流します。

$ clear

f:id:kunst1080:20171101233028p:plain

楽しいですね!(o・∇・o)

終わりだよ~

【走り書き】Chromebook購入したよメモ

ASUSのChromebook「ASUS Chromebook Flip C100PA」(メモリ4GB、USキーボード)を購入しました。 おねだんは34,000ポッキリ!

https://www.amazon.co.jp/gp/product/B016PG6QAK/www.amazon.co.jp

自分のツイート

覚書き

  • 初回起動時に言語を聞かれる。US版を買っても日本語で使える。
  • 初期状態では、ターミナル(chrosh)から shell を打てない。開発者モードをONにする必要がある。
  • 開発者モードをON

設定メモ

トラックパッド

  • スクロールは逆方向

キーボ=ド

  • 「検索」を「ctrl」に
  • 「ctrl」の右を「検索」に
  • 「キーボードの最上段をファクションキーとして使用する」をON

bluetooth

  • デフォルトはONになってる。自分は使ってないので切った。

「第31回シェル芸勉強会 大阪サテライト」レポート

10/07(土)に東京で行われた「jus共催 第31回朝からだと疲れるから午後からでええじゃろシェル芸勉強会」について、今回も大阪でサテライトしました!

イベント情報

東京(本家)

usptomo.doorkeeper.jp

今回も、大阪(私達)と、福岡でサテライト会場がありました。

大阪サテライト

atnd.org

福岡サテライト

atnd.org

大阪サテライトレポート

参加者

今回もさくらインターネット様から会場をお借りしできました。 募集期間が短かったり他のイベントと被ったりで、今回の参加者は8名。初めましての方は1名でした。若者が増えるで、結構うれしかったりしますw
今回は前回の教訓を活かして机を囲んで、相談……とまではいけませんでしたが、難しい問題で少しアイデアを出し合う感じのはできたかなあという感じです。

会場のようす

午後

今回はパズル回ということで、ゴリゴリ系の問題が多かった感じです。

次回、恐ろしいですね……!(wktk

LTのようす

東京

大阪

今回もYoutubeで配信していただけました! 録画はコチラ ↓ 

くんすと(@kunst1080) 「rmコマンドチキンレース!」


以前のサイゼリヤミートアップで話題(https://twitter.com/kunst1080/status/912293867596111872)になった「rmコマンドチキンレース」の解説と実演です!\

いずれ単独イベントやりたいですね。

日柳 光久(@mikkun_jp) さん 「JavaScript製シューティングゲームをフルスクラッチで作ってみた / JavaScript Shooter Game from Scratch」


パフォーマンスなどを考慮して、ピュアJavaScriptでゲームを作りました、というお話でした。

完成品はコチラで遊べます→https://mikkun.github.io/evade-and-destroy/

たいちょー(@xztaityozx_001) さん 「ダブルシンク難読化シェル芸」


読みにくいのか読みにくくないのかよくわからなくなってきます……(発表は超面白かったですw

発表に出てきたツールはコチラです→https://github.com/xztaityozx/shellhuffman

so(@3socha) さん 「サイゼリヤで学ぶシェル芸」


先日のサイゼリヤミートアップで得られた知見ですね。ぼくのPCは、改善前の方のシェル芸でフリーズしかけました。

いるやん(@Iruyan_Zak) さん 「sed 's/.*/sed計算機/'」


sedで計算機を作ってシェル芸の問題を解いたということで、そのソースの解説でした。「sedで計算機を作って」っていう時点で既にヤバイですw

サンプルコードはコチラ→https://wandbox.org/permlink/uF77pCn8QdhpfkcA


その他

LT超募集してます。ジャンルは不問ですのでお気軽に!シェル芸関係なくても大丈夫でっす!

まとめ

上田会長、東京・福岡・大阪の皆様、お疲れ様でした。
さくらインターネット様、今回も会場を使わせていただきましてありがとうございました!

次回もできればまたよろしくお願いします!!

Twitter Bootstrap2のmodal()でfocusが外れてしまうことへの対策

原因

犯人は、showメソッドの中で設定されている transitionend イベント。

modalのセットされているjQueryオブジェクトにtransitionend イベントが割り当てられ、その中でfocus()が走るようになっている。

https://github.com/twbs/bootstrap/blob/v2.3.2/js/bootstrap-modal.js#L75-L77

          transition ?
            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
            that.$element.focus().trigger('shown')

対策

transitionend イベントを止める。

[サンプル]

$modal.on("transitionend", function(e){
  e.stopPropagation()
})

参考情報

その他

2017年にもなってBootstrap2……