次のページに答えがあった。アプリケーションがどのディスプレイを使えばいいのか知るために使用されます。アプリケーションを起動する場合、これらの変数を設定する必要があります。付属するようになりました。使用することができるようになっています。<<要約するに、DISPLAYとXAUTHORITYの環境変数が設定されていないとxrandrのようなXアプリケーションは動作しないということらしい。設定された環境変数を全く継承しません。<<ということだった。シェルスクリプト内でDISPLAYとXAUTHORITYを設定してやれば動作すると見ていいだろう。次のように書き換えた。$INfi大抵の場合、DISPLAYは:0.0なので特に考えずにそのまま書いた。実行して調べてきたものをそのまま書いた。エラーを出さないことを確認してからPCを再起動した。なっており、モニターを抜き差ししてみると、少し時間を置いてモニターが接続されることが確認できた。環境変数が使われているので留意する。設定した環境変数を一切継承しないので留意する。組み合わせてデバッグする。X230を中古で買いました。2019年6月13日メモリを増設して8GBにしておきました。低電力メモリで動くんだねこれ。Windows10との別れWindows10がインストール済みでしたが、WindowsはSteam専用機で事足りているので、Linuxを入れました。PadのBIOSを開いてブートの優先度を変えておく。BIOSはThinkPadのロゴが出ている状態でF1shiftキー押しながら^キーで起動優先度を上に移動できる。USBの優先度を最上位にする。起動したらインストール自分はパーティション消してインストールしました。起動が遅い起動が遅い!(重要)なぜか起動に2分近くかかる始末。はじめにやったこと原因を探るために、systemd-analyzeで起動時間を見てみた。次にブート時のログを見るために、dmesgでログを表示した。ググってみると乱数生成器が乱数生成しきるまで時間がかかっているらしいことがわかった(というかもしかしてタイムアウトまで待ってる?)対策を調べてみるとrng-toolsとかhavegedで乱数生成を手伝わせるのがいいらしいことがわかった。今回は色々とあって縁のあるrng-toolsをインストールした。rng-toolsでrng-toolsをインストールする。-fが起動していない状態でやるとバチクソ時間がかかる。-fを起動すると一瞬で終了する。rng-toolsのサービスを有効化あとは起動時にrngdが起動するように設定する。rngd.serviceでOK。rngd.serviceでenabledになっているかを見ればよい。Linuxの起動が速くなった!具体的には2分かかっていたところが14秒で終わるようになった。initが動いている理由をよくわかってないままやったので、その辺は後々調べておこうと思う。WebhookでSlackのbotを作ってみました。はじめにもともとはRustで書いたものを動かすつもりでしたが、どこにデプロイするかという問題にぶち当たりました。botを作れないかと思って調べたところ、GASに行き当たりました。「突然のほにゃらら」に反応して、吹き出し化するbot。PropertiesService.getScriptProperties().getProperties();prop.tokenでAPIキーを環境変数から取り出しているみたいなのだけど、上手く動作しない。PropertiesService.getScriptProperties().getProperty('SLACK_ACCESS_TOKEN');で直接取り出した。Slackのスタンプの扱いSlackのスタンプは:hoge:といった感じにコロンでくくられているのだが、そのままこれを受け取って文字列の長さをlength()で出してしまうと、スタンプで1文字なのに、コロン2つと中の文字を合わせて6文字扱いになってしまう。こんな感じで吹き出しのサイズがおかしくなる。変更前はこうだったそこで文字列の長さを測る関数を別に用意した。コロンからコロンまでを無視し、対応するコロンがない場合については巻き戻して文字列を数える関数である。2バイト文字を2文字として数える関数にこの機能を盛り込んでおいた。半角と全角だと文字幅が違うからね。URLエンコード上と関連した話として、GASに飛んでくる文字はURLエンコードで飛んでくるみたいで、ASCII文字の記号は%xx形式になっている。':'){hogehoge}としようとしても無駄である。コロンの場合は"%3A"になるので、切り出すか、%に当たった場合に記号として判別するかした方がよい。書いたスクリプトが反映されたりされなかったりして悩んだ。「公開→ウェブアプリケーションとして導入」の後に、プロジェクトバージョンを最新にして更新しておかないとダメみたい。おわりにGASとかいう便利なものがあるとは知らなかった。botについては吹き出しの下側もサイズをきちんとしておきたい。WebhookでSlackのbotを作った時に引っかかった部分Tweet広告を非表示にするもっと読むコメントを書く2019-06-04Serenityを使ってDiscordをRustから遊ぶはじまりちょっと作りたいものがあったのでDiscordのAPIを調べてました。ぶっちゃけた話、Pythonでdiscord.pyを使った方が楽なんだと思うんですけど、Pythonをみたら発狂して転げ回る病気にかかったということにしているので今回はRustで。RustでDiscordAPIを叩くライブラリを探してみるとSorenityというライブラリが見つかりました。github.com日本語で説明しているページが見当たらなかったので、しばらくあちこちにらめっこしながら、とりあえずサンプルが動いたのでそこまで書いておきます。下準備まずはDiscord向けのbotを作る準備をしないといけません。Discord向けのアプリを作るためにまずデベロッパーポータルへ行きましょう。discordapp.comDiscordにログインした状態でアクセスすると、下のようなページが出ると思います。Application"をクリックし、作成するアプリケーションの名前を入力して作成します。日本語でも大丈夫みたいですね。作成すると下のようなページが出るはずです。アプリケーションを作ったそうしたら上図の赤丸のBOTをクリックします。wisely."と、「bot追加したらもう戻れねえぜ!賢い選択を。!"を力強くクリックしましょう。wisely"は『インディー・ジョーンズ/最後の聖戦』を元ネタとするミームみたいですねそれはさておき、クリックすると、BOTが生まれた上図のようなページに移動します。とびだしてきた!」ですかね。Discordは本当にゲーム関連の洒落が多くて素敵ですね。それもさておき、上図の赤丸部分がプログラムで使用することになるトークンです。覚えておいてください。訪れるたびに毎回少しずつ変化しますが、いつ作ったものを使っても問題ないです。次に、左カラムのOAuth2をクリックします。移動先のページをスクロールすると、下図のようなチェックボックスが大量に出てくるかと思います。OAuth2のURLジェネレータここではbotにチェックを入れます。するとさらに下に下図のようなチェックボックス群が出てきます。BOTの権限設定このチェックボックスでbotに与える権限を設定できます。これはbotを招待する際に権限オフにもできます。試すために管理者にチェックを入れます。その後2つ上の図の赤丸でリンクをコピーし、それにアクセスすると下図のような画面が出ます。BOTをサーバーに追加するそこから追加するサーバーを選んで認証を押してやるとBOTがスポーンしたBOTがサーバーに参加します。このままでは何もできません。プログラムで動かしてやる必要があります。BOTを動かすとりあえずSerenityをcloneしてきましょう。https://github.com/serenity-rs/serenity.gitそうしたらexampleディレクトリ内の01_basic_ping_botに移動しましょう。run・・・といきたいところですが、このままだと「トークンの環境変数がないぞ」と怒られて動きません。トークンをプログラム内か環境変数に書いてやる必要があります。DISCORD_TOKEN=<ここにトークン>とでもしておけばいいと思います。"ここにトークン"としておきましょう。connected!が出ますので、そうしたらDiscord上で"!ping"と書き込んでやると・・・こいつ・・・動くぞ・・・!動きましたね。BOTを動かしてみました。run自体が通らなかったり、そもそもサンプルコードを真剣に読んでなかったりと手こずりましたが、無事動いたのでよしとします。今後はこれを使って、前からやりたかったことをやってみようと思います。最後まで読んでいただき、ありがとうございました。22:34Serenityを使ってDiscordをRustから遊ぶTweet広告を非表示にするもっと読むコメントを書く2019-04-24一人暮らしサバイバル一人暮らしを始めてからだいたい2,3週間くらい経ったのでTips的なやつを書き散らしてみる。風呂の底が汚い、排水溝がむき出しの時の対処スノコを敷く。ホームセンターで買える。物を干す場所がない物干しを買う。ホームセンターで買える。ケトルとかポットが乾かない中にキッチンペーパーを入れておく。ホームセンターで買える。服やタオルが乾かないサーキュレータで風を当ててやる。ホームセンターで買える。蛇口をひねるタイプの水道でお湯がぬるいor熱い蛇口のひねり具合を覚える。テープで目印をつけて、テープが手前に来る時にいい具合になるように調整するといい感じ。温度計であらかじめ温度を測ってメモしておくのも強い。両方ともホームセンターで買える。耐熱性の強いものと薄いやつの両方を買っておくと色々対応できていい感じ。ホームセンターで買える。コッヘルにサランラップを敷いて使う。両方ともホームセンターで買える。周りにホームセンターがないAmazonで買う。周りにローソンかファミマがあればそこに送っておけばいつでも取りに行けていい感じ。周りにコンビニがない強く生きて。Mainframeはいいぞ。月別アーカイブそれ、ウニです。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。