Vimconf 2018 感想
- Vimconf 2018 on 2018/11/24 (Sat)
- タイムテーブル順にその感想
- 始まるまで
- Reseption
- Keynote - What is the next feature? by Yasuhiro Matsumoto
- Short break and スポンサーの atWare さんの発表 by @guyon
- Keynote - Vim: From hjkl to a platform for plugins by Bram Moolenaar
- Lunch break
- Migrating plugins to standard features by daisuzu
- Modes by Tatsuhiro Ujihisa
- Short break
- A day in the life of (ordinary) Vimmer by OKURA Masafumi
- Modern editor-independent development environment for PHP by USAMI Kenta
- Effective Modern Vim scripting by Alisue
- Short break
- Oni - The GUI-fication of Neovim by Akin
- Vim ported to WebAssembly by rhysd
- Lightning Talks
- Closing by mopp
- 懇親会 (After party)
- その後
Vimconf 2018 on 2018/11/24 (Sat)
楽しく興奮した時間は過ぎ去り、また、いつもの日常(月曜)がまた来てしまった…
そんな感慨を覚えながら、振り返ってみよう。
(本当は日曜に既に家族と過ごす日常は来ていたが…)
一言で言って
一言で言って最高だった(最高)
全体的な感想
昨年(Vimconf 2017)より、引き続き参加。
昨年よりは少し場慣れした感じもありつつ、少々の緊張もあった。
今年はやはり Bram さんが参加されるとのことも有ってか、昨年よりも海外から多くの方が来られてたようで、確実に国際色豊かになっていた。
通訳も、英語→日本語、日本語→英語ともにプロの人に、やってもらっていた。
昔、rebuild.fm で rubykaigi (だったかな?)で、通訳のプロ入れるのは金額的にもスピーカーの準備なども大変と聞いたことが有ったことを思い出し、おぉスゴイと思った。
タイムテーブル順にその感想
注意事項
これは個人の感想であり、主観であり、個人的なメモと記憶に基づくため、実際の発表の内容、又は本来の発表者の意図と異なる場合があります。
始まるまで
- かなり、早く到着。
- 通訳らしき方が到着してた。よって今年は ujihisa さんの通訳ではないと悟る。
- 奥さんと携帯で連絡とり合ってたら、Bram さんが目の前を通り過ぎてた。
- 受付が始まる。3番目位に並んだが、なぜか受付やノベルティーの受取が爆速で終わり、一番最初に入ったと思う。少し緊張して来た。
- 始まる。各自、各々席に着き準備。
- ノベルティ確認、鮭とばがある。
Reseption
Keynote - What is the next feature? by Yasuhiro Matsumoto
- mattnさん緊張していたらしい
- スライドの各ページのタイトルが Vim コマンドになっていて、かっこいい。
:echo $USER
:e ~/Books/Vim
- vim-jp が出来た経緯、KoRoNさんとの馴れ初め、vim-jpが果たしてきた役割などの話。
- New feature の話
既に動くものを書いてる辺り mattn さんらしい。- Suggestion 1
- Support DRCS Sixel on
:terminal
- Support DRCS Sixel on
- Suggestion 2
- ch_listen()
- Suggestion 3
- BLOB type
- Suggestion 1
本当に vim-jp ができて vim の開発者コミュニティーがまとまる場ができたのは大きいと思う。
- 昔から貢献している mattn さんや、KoRoN (kaoriya) さん
- 今や patch 数も日本人最多、 vim の ticket 管理も任されている k-takata さん
- 様々な bug / document fix や、新機能 clpum の作者の h-east さん
- 細かい所に手が届く ichizok (Ozaki Kiichi) さん
などなど、その他ドキュメントの翻訳関係など含めも、いろいろな人の協力で改善されている。
Short break and スポンサーの atWare さんの発表 by @guyon
Keynote - Vim: From hjkl to a platform for plugins by Bram Moolenaar
- 感極まる(感極まる)
- タイトルが感慨深い
vim が plugin の platform になったと言うのが Bram さん本人から発表されたのが大きい気がする - Vi に既に mapping は有った。
- Vim では ver 4.0 で Autocommands、ver 5.0 で Vim script (syntax highlighting、ftplugin、indenting)、ver 6.0 で、 runtimepath の追加で plugin として管理できるようになって、いろいろ出来るようになった。
- でも performance も問題に
- profile (便利)
:profile file {pattern}
:profile func {pattern}
- startup time (便利)
vim --startuptime {fname}
- profile (便利)
- Get a faster computer! だけど…
- plugin loading time に関しては
- autoload が ver 7.0 で追加
- ここでいきなりの
Future: Multi-threading: load a plugin in a separate thread.
というアイデア。出来ればスゴイけどSome day...
とのこと。
- plugin execution speed に関しては
- python の
.pyc
みたいに.vic
として中間表現を作ろうとのこと! - これには、おおマジでか!?と大興奮!
実装とかまだ全然みたいだけど、Bram さん本人にそう言う考えがあるとわかって興奮した。
- python の
- plugin management の話
packadd
が ver 8.0 で追加- その他、plugin manager plugin もいろいろある
- でも dependencies の問題がまだあると (先進的な plugin manager は持ってたりすると思うけど)
そこで Proposal だけど…- plugin 毎に dependencies.vim をもって
PluginDepend()
で依存性を定義。 - plugin 本体で
PluginLoad()
する。
- plugin 毎に dependencies.vim をもって
- more plugin support
- Jobs and channels が ver 8.0 で追加された
- plugin support poll で、多かった下記の2つをサポートするには…
193 Popup window to show hints/message and pick an item
179 Store properties with text, used for highlighting et al.
text properties
というアイデアがある…と話し始める
これまた、おお!っと思わせる機能
show hints/message 以外にも、実装次第ではあるものの、既存の正規表現ベースの syntax hilighting が高速化したり、
さらにLSPと連携した高度なものなども、実現可能になる夢がある。
Lunch break
- 2種類の弁当を選べたが、今年もつい今半のすき焼き弁当選んでしまった。
去年と同様においしいかったが、ベジ弁当もおいしかったの報告を見て、そちらに挑戦しても良かったと悔やんだ。 - Vim で何書いてるか? アンケートが実施されていた。
Migrating plugins to standard features by daisuzu
- plugin じゃなくてもできるよ!というお話
plugin を使おう! という話になりがちな中、良い。スパルタン Vim きっかけ。 - De-neocomplete
- built-in の補完便利だよね。
行補完とか賢すぎる。補完候補を選択している最中にもう一度CTRL-X_CTRL-Lすると、選択している次の行が候補に出てくる。 - 自分も De-neocomplete したなぁ。理由は以下の通り
- built-in の補完便利だよね。
- De-neobundle
- vim-plug 使っているけど、なるべく本体にある機能の
packadd
使いたいなぁ。 packadd
使っている k-takataさんの minpack が気になる。
- vim-plug 使っているけど、なるべく本体にある機能の
- De-unite
- 昔使っていた。Grepの非同期読み込みなどが魅力だった。
- 今は ag などで検索自体速いし quickfix windows 使って
:cn
とか:cp
したくて、止めてしまった。 - その後、MRU や buffer 移動には CtrlP 使うようになった。
- De-vimfiler
- よく使うツリー表示のためのだけの単体 plugin の tree.vim を作った。すばらしい。
Modes by Tatsuhiro Ujihisa
- モードの話だけかと思いきや、Vim の Debug 方法を解説されており、良い。
- vimtutor
- 昔やった、懐かしい。
- :help
- 重要。今でも見る。
- GDB
gdb --tui
もいいけど、- 自分的には
cgdb
をよく使う -ggdb3
重要 (macroを扱うときなど?)
termdebug.vim
- 存在は知ってたけど、使ったことなかった。
- 便利そうなのだけど、 vim で編集可能な状態だと直ぐにファイル書き換えてしまいそうで敬遠してた。
- 昔、clewnとか有って試したけど、ちょっとしか使わなかった。 (懐かしい)
Short break
- コーヒーと紅茶のおかわり到着
A day in the life of (ordinary) Vimmer by OKURA Masafumi
- 一日の様子
- 自分も、一年前は、毎日 git pull して、ビルドしてたなぁ…
plugin もだいたい毎日 update してた。 - 緊張のせいかtype missが、頑張ってと言う気持ち。
- podacs ! podacs !
- This is TDD.
- aaccepts !
- Agは quickfix に残るので良い。
- fzf ちょっと良さそうな感じ。
- viの alias いいかも
Modern editor-independent development environment for PHP by USAMI Kenta
- 争い事よくない
- 有用なエディタの機能は、他のエディタに移植されたりする、今年は Rainbow Brackets とか。
こういうのは良い - 昔は IDE は使ってなかった
- tag jumpは正義
- 今は色々あるよ
- PhpStorm
- この様な popup window を vim でも表示できれば、やはり便利だよなぁ
text properties の実装が本当に待たれる
- この様な popup window を vim でも表示できれば、やはり便利だよなぁ
- Phan
- PHPStan
- PhpStorm
- ここで LSP の説明
- Bram さんに伝わって欲しい…
- Vim + ALE で、Vimでもいろいろ使えるよ
- 唐突に Veonim 。
- 面白そうな Neovim の frontend
Effective Modern Vim scripting by Alisue
Short break
- Vim に期待する新しい機能は? アンケート
Oni - The GUI-fication of Neovim by Akin
- Bram さん以外の海外 Speaker。
- Neovim の GUI の frontend の Oni について。
- Neovim の syntax highlight 使ってるの? 自前でやってるの?
→ based on Textmate らしい - この様な現代的でカッコイイGUI frontendは憧れる。
- おこがましいけど、 Bram さんもこういうのを見て、何かしら刺激を受けるといいなぁと思っていた。
便利なものなどは、やはり実際動作を見ないとわからない所あると思うし。
Vim ported to WebAssembly by rhysd
- color scheme の spring-night でお世話になっている rhysd さんの発表。
みんなも最高なので spring-night 使おう。 - WASM にするところで表示はどうやっているのかと思っていたら、
gui_*.c
を WASM 様に作成されたとのこと…なるほど。 - しかも、だいたい8日間で動くものできたらしい。
- tiny featureが便利
- やっている事に対し、発表がサラリと話されている印象だった (すごい!)
Lightning Talks
A brief introduction to vim-orgmode by Takaaki ISHIKAWA
- 第2の脳
- WordにExport
- tree 暗号化
- なんかすごそう
Neovim as a web browser controller by notomo
VimPhone 2018 by rattcv
- Demo、Demo頑張って欲しい…
- 時間切れかー。
- 何かがすごかった。何かが。
Differences between Nvim and Vim in 5 minutes by Shougo
- いろいろ違いがあるけど、LTだと駆け足。
- もう少しじっくり聞きたかった感。
The vim-history repository by Ken Takata
- 2004年に Vim 7.0 の開発が始まった。
- 1991年に Vim 1.14 release されたらしい。
- From v1.14 to v5.4 は tarball。
- From v5.5 to v6.4 は CVS から
- 今の git repository に過去のやつ持ってくるの面白いなぁ。
Closing by mopp
- Vimconf 2018 良かった(良い)
懇親会 (After party)
今年は、話したい人に話せるようにという気持ちだけは持っていた。
そして話せた。これだけで本当に良かった。
Bram さんは雲の上過ぎてそこまで行けなかった…のと、
今年こそはと言う意気込みが先行し、まずは、去年、話せなかった人たちに話しに行っていた。
まずは始まってから少し経つと、中央の机に KoRoN (kaoriya) さんと、k-takataさんがいるではないか!
という事で、話しかけに行った。
KoRoN さんには、Windows時代に kaoriya の vim を使っていて、多分それがなければ vim 使ってなかっただろうなぁと思ったので、
いろいろな人に言われているだろうけども感謝を伝えたところ、自分のネームタグを見て、「あぁ、知ってますよ」的なこと言ってもらい、ちょっとうれしかった。
kaoriya vim の名残で、今も migemo patch を使わせてもらっているので、自分の vim :ver
するとは +kaoriya
と +migemo
がある。
k-takata さんにも imstyle
の patch で、 ynkdir (中平) さんの作成されたGTKの over-the-spot patch を既存の on-the-spot を壊さないように、
つまり取り込まれやすい様に改良してもらい vim に入れて頂いた事について、感謝を伝えられた。
(その後、再度話す機会があり vim-hisotry の話も聞けた)
その後、ynkdir (中平) さんの話題になり、最近どうしているのだろうと話になった。たしかに、気になるなぁ…
個人的に google code にあった、日本語入力系の patch を使ったり、uim-ctlを使ったりしていたので、話せる機会があったら、話したいなぁと思っていた。
その後、 mattn さんにも話しかけた。
最近のやり取りさせてもらった issue の話と、直接 vim の話じゃないけど mattn/memo の話した。
mattn/memo から起動する editor は vim だしいいだろ的な感じだった(心の中で)。
この blog の下書きも mattn/memo で書いている。
更に、その後 h-east さんがいるっぽい話が聞こえてきたので、探して声をかけた。
もちろん clpum の件で、便利ですと伝えることができた。
本体に早く取り込んで欲しいですよと話せた。
懇親会も終わりかけというか、終わった直後に rhysd (Linda_pp) さんにも話しかけに行った。
spring-nightの件で、loadがめっちゃ速くなりましたよと言えてよかった。
その後
vimthon なるイベントがあったそう。
Bram さんと直接話せるのメリットしか無い。
今日は Vimconf 2018 でもその前に…
今日は、Vimconf 2018 があるわけですが、その前にblog更新しておかないと、 前回のblogが、Vimconf 2017の感想で、何か一年に一回しか更新してない状態になるので、 その前に、なんか更新しておきたい気持ちになったので、更新する。
というわけで、 Vimconf 2018 後は、vim活熱が爆上がりするはずなので、todo listを上げておいて、後でやる事にしよう。
追記:
大事な項目を忘れていた
- Vimconf 2018の感想blogを書く
- vim-jp#1130
ドキュメント含め、パッチをまとめる。 - GTK3の
imsytle=1
の時の、preeditウィンドウがGTKのスタイル(CSS)がちゃんと当たってない問題をissue登録する - imactivefuncが、
8.1.0053
から引数のタイプが変更されてしまっている問題をissue登録する - vim-jp#1190
良い解決方法を探り、修正する。これのせいで lexima.vim を有効にしていると日本語入力のステートが元に戻らない…
以上
Vimconf 2017の感想
- Vimconf 2017 on 2017/11/04 (Sat)
- タイムテーブル順にその感想
- Vim, Me and Community - haya14busa
- The Past and Future of Vim-go - fatih
- 昼食
- Vim 鼎談 (Round Table Discussion) - mattn, k-takata and kaoriya
- Creating your lovely color scheme - cocopon
- vim-mode-plus: The most ambitious vim emulator in the world - t9md
- Vim and Compatibility - senopen
- neosnippet.vim + deoppet.nvim - ShougoMatsu
- How ordinary Vim user contributed to Vim - dice_zu
- The new syntax highlighter for Vim - p_ck_
- You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim - lambdalisue
- 懇親会
Vimconf 2017 on 2017/11/04 (Sat)
全体的な感想
Vimconf 2017へ行ってきました。 この様なソフトウェア・エンジニア向けのカンファレンスは初めてで緊張してました。
まず、普段、ノートPCは持ち歩かない人なので、ノートPC持って行くかどうか悩ましかった。所有しているPCも特段モバイル向けではないので (Thinkpad T440s)
しかし、結果、メモを取るのにバリバリ必要だったし、vimの特定の機能の話で :help
したり、GitHubでpatchの詳細を見たりと、やはり持っていって良かった。
そして、スピーカーの方々の発表はどれも大変に興味深く、面白く、とても良い体験ができた1日でした。
タイムテーブル順にその感想
- 注意事項
これは個人の感想であり、主観であり、個人的なメモと記憶に基づくため、実際の発表の内容、又は本来の発表者の意図と異なる場合があります。
Vim, Me and Community - haya14busa
- haya14busaさんと vim との出会い、関わりの話
- vim-asterisk
- 初期の頃に簡単なpr送った記憶
- 検索Wordのposition覚えるやつ良さそう
- その他にも、いろいろ作られているすごい (今更)
- Lambda & Closure の話、すばらしい
- incsearch.vim の機能が vim 本体に入った話。良い
- incsearch.vim 使ってなかったけど is.vim 使ってみたい
- 若い
- Vim は pay する !
- Community の diversity の話、おもしろかった
- And You
- やれることをやろう
The Past and Future of Vim-go - fatih
- 海外からのゲストスピーカー (さすが international vim conference)
- ujihisaさんの通訳よい
- 声、しゃべりかた、
適当脱力感が前から好き
- 声、しゃべりかた、
- Go について
- vim-go
- 2014 に official の repo から削除された
- vim-go の話
- 他に小さい plugin がいっぱいあった
- 全部入れるの辛い
- roadmap 重要
- mattnさん、ちょいちょい出てくる
- golang.vim じゃおかしいし、go.vim でもなく vim-go になった
- 「ちなみに私は .vim と付くのも好き」 by ujihisa
- vim の help 辛い
- help の bannar 重要
- Command prefix はあったほうが統一感あって良いよねぇ
- Versioning も変わっていった
- Kindle e-book donation
- 読みきれないほど本もらったらしい (40以上)
- License を追加
- 2016
- vim-go の New Logo 良い
- vim-go-tutorial 良さそう
- CI intgration 始めた
- vim help lint 試してみたい
- golang では Vim が一番良く使われている
- Future の話
- Debugging
- mattnさんが動いてらしい
- Future 2 の話
- AST baset syntax hilighter
- The bad
- README.md と docs の話、面白い
- 詳しいく知りたい人は doc みる
- そうでもない人は README しか見ない
- README.md と docs の話、面白い
- The good
昼食
- すき焼き弁当おいしい
- mattnさん、服着てる
- koron (kaoriya)さん、k-takataさん、mattnさんが前で食べてる
Vim 鼎談 (Round Table Discussion) - mattn, k-takata and kaoriya
- 「鼎談」は「ていだん」と読むよ
- 「mattn」は「まっつん」と読むよ
- k-takataさんの vim を使い始めた理由が git のコミットメッセージとは驚き
- patch の話
- minpack 試したい
- k-takataさんは、lexima 使っているらしい。lexima 使ってる、良い
- prabirshrestha/vim-lsp ちょっと使ったけど、良い
- 確かに lsp client本体に組み込んでほしい (neovimはやってる ?)
- vim-jp は偉大
- k-takataさん vim/vim の member に ! ticket 閉じれる !!
- 初心者でも真似できるお気に入りの技
- g<C-a>の連番 by mattnさん
- spell check by k-takataさん
Creating your lovely color scheme - cocopon
- iceberg の作者さんだった !
- spring-night の前に少し使ってた
- 人生の 33 %は color scheme を見てる !
- :hi
- consept 重要 !
- bg, fgを決めて、color パレットを決めるよ
- :hi link
- http://colorswat.ch/vim 素晴らしい !
- モバイル対応 ! 通勤時に便利 !
vim-mode-plus: The most ambitious vim emulator in the world - t9md
- 英語での発表素晴らしい !
- 再び ujihisaさんの通訳
- vim-mode-plus (vmp)
- Operator + Target(Motion or TextObject)
- 「テストに出ます !!」 by ujihisa
- 「どこだどこだ」 by ujihisa
- Mutation = Operator + Target(= Motion or TextObject) さっきも似た様なのが出たぞ
- 「ここからは Demo なので、通訳がめっちゃ大変です」 by ujihisa
- vmp の一瞬 flash なかなか、良さげ (haya14busaの発表で触れてたやつか)
- vmp の
f
もかっこいいなー - vmp の
EdgeMotion
も目の付け所が面白い- 既に vim-edgemotion あるらしい
https://twitter.com/haya14busa/status/926712287066406912
- 既に vim-edgemotion あるらしい
- 「ポッとなってパッとあれします」 by ujihisa
- Atom と vmp でいい感じになっている
- Edting = Operator + Target(= Motion or TextObject) 最後にもう一度出たぞ
Vim and Compatibility - senopen
- 再び ujihisaさんの通訳
- Updating vs. Keeping
- vim は keeping にかなりを気を使ってるよあなぁ
- 突然の Posix 原理主義 !
- 古い vim に対応するには
has()
やexist()
を使う - UTF-8 の bom は Windows でややこしかったなぁ
- fileencodings
- 「うわぁ、水こぼした」 by ujihisa
- posixism.org
neosnippet.vim + deoppet.nvim - ShougoMatsu
- 個人的には neosnippet.vim を使用しているので、メンテされなくなるとつらみ
- My icon is not zebla !
- 「The dark powerd plugins」多いなー (すごい)
- Note:No songs
- neosnippet.vim は marker type な snippet plugin
- 他には、以下のものがある
- snipMate
- ultisnips
- marker type とは ?
- buffer 上に marker をおいて Jump する
- nonーmarker type とは ?
- 常に構文解釈する (?)
- neosnippet.vim
- conceal を使っている
- すると conceal を使っている他の plugin とバッティングする
- deoppet.nvim
- snippet は neosnippet.vim と互換性がある
- non-marker type
- Extended Marks (neovimの機能) を使っている
- よって、neovim 専用
- current status
- 簡単な neosinippet synatax parser は動く
- jump back とかできる (けど試すのは大変だよ)
- Demo
- まだまだ user が試せる状態ではない
- The extra thing
How ordinary Vim user contributed to Vim - dice_zu
- どうやったらコントリビュートできるかの話
- 「passion」超重要!!
- 運用でカバー
- Episode of v8.0.0102
- v8.0.0101 での辞書ファイルのパスチェックのバグ
- vim-dev に test を送った
- Episode of v8.0.0104
- thesaurusファイルのパスチェックの追加
- v8.0.0101 で忘れられた ?
- github に p-r を送った
- Episode of v8.0.0512
- 挿入モードの補完候補が出るのが遅くなった問題
- 同僚をコントリビューターにする計画だったが…
- 自分でパッチを書くことに
- Bug fixは早めに取り込まれる
- 職場での vim talk 重要
- Debugging
- gdb 便利
- Testing
make test
で実行する
- How to send a path
The new syntax highlighter for Vim - p_ck_
- sushibar.vim の人だ !
- curret syntax highlighter
- sideCI の宣伝
- new syntax highlighter
You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim - lambdalisue
- 再び ujihisaさんの通訳
- Vimmer がいるよ
- Viman もいるよ
- Super Viman の為の talk だよ
- Super Viman 2 の為ではない
- Super Viman 3 の為ではない
- Super Viman God の為ではない
- gina.vim
git
to:Gina
- 人は忘れる
- gina.vim では覚えることが少なくてすむよ
- Action promptで Tab で補完できるよ
で map カスタマイズできるよ
- gina.vim 良さそう
- gina.vim を使い始めると git を使う為に vim を起動する事になる
懇親会
序盤では持ち前の人見知りを発揮してしまい、ぼっちだったけど、近くの人が声をかけてくれて少し話せてよかった。
LT (Lightning Talk) が始まり、いろいろおもしろかった。
特に thincaさんの発表は、 :term を vimshell っぽくできそうで面白かった
Xubuntu 17.04 で 自動 lock後、自動 suspend する
経緯
個人的に laptop を使うことが多いので、一定時間アイドルになると自動的に lock し、 更にアイドル時間が続いたら自動的に suspend して欲しい。その時 lock は早めにして欲しいけど、 suspend はもう少し後でして欲しい。と、思うのは自分だけだろうか。
しかし、Xubuntu の Xfce + lightdm + lightlock では、 lock後、うまく自動 suspend できなかった。Xubuntu 14.04で、色々試行錯誤し、解決した方法を、17.04に移行した機に再度、まとめるために blog として残す。
以前使っていた Ubuntu 12.04 の頃の Gnome だと gnome-screensaver がユーザーセッションで起動し、自身で設定した時間経過後に lock 、またその後に suspend と、設定さえすれば、何も気にせずに自動 lock しその後に自動 suspend できていた。*1
解決方法
org.freedesktop.login1.policy を編集
xubunt 17.04 では、 /usr/share/polkit-1/actions/org.freedesktop.login1.policy
にある
diff
--- org.freedesktop.login1.policy.bak +++ org.freedesktop.login1.policy @@ -1142,11 +1142,11 @@ <message xml:lang="uk">Засвідчення потрібно, щоб призупинити систему.</message> <message xml:lang="zh_CN">挂起系统需要认证。</message> <message xml:lang="zh_TW">暫停系統需要驗證。</message> <defaults> <allow_any>auth_admin_keep</allow_any> - <allow_inactive>auth_admin_keep</allow_inactive> + <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.login1.suspend-multiple-sessions"> @@ -1200,11 +1200,11 @@ <message xml:lang="uk">Засвідчення потрібно, щоб призупинити систему, коли інші користувачі в ній.</message> <message xml:lang="zh_CN">存在其他已登录用户时挂起系统需要认证。</message> <message xml:lang="zh_TW">在有其他使用者登入時暫停系統需要驗證。</message> <defaults> <allow_any>auth_admin_keep</allow_any> - <allow_inactive>auth_admin_keep</allow_inactive> + <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.suspend</annotate> </action>
詳細
<action id="org.freedesktop.login1.suspend">
タグ内の
<allow_inactive>auth_admin_keep</allow_inactive>
を
<allow_inactive>yes</allow_inactive>
とする。
<action id="org.freedesktop.login1.suspend-multiple-sessions">
も、同様に編集しているが、必要があるのか、詳細については調べていない。
xfce4-power-manager の設定
アイドル時に実行するモードを suspend にする。
コマンド
$ xfconf-query --create -t int -c xfce4-power-manager -p /xfce4-power-manager/inactivity-sleep-mode-on-battery -s 1 $ xfconf-query --create -t int -c xfce4-power-manager -p /xfce4-power-manager/inactivity-sleep-mode-on-ac -s 1
詳細
デフォルトでは hibernation に設定されている(?)。さらに、 Xubuntu(というかUbuntu)では、デフォルトで hibernation は無効にされている(?)。この状態では xfce4-power-manager の GUI から設定を変更できなかったので、 xfconf-query で直接設定する。
課題
このままでも、大抵の場合うまく行くのだが、D-Bus の org.freedesktop.Powermangement.Inhibit
経由で、suspend をブロックするアプリ*2が、 lock 後の自動 suspend する時間までに起動していると、 suspend がブロックされ、再度 suspend を実行されないようだ(Xubuntu 14.04時に確認)。
誰か、うまくいく方法知っていないだろうか?
xfce4-power-manager
でリトライさせればいいのだろうか?…
その他、 Ubuntu 18.04 からは、また GDM に戻るようだ。 Xubuntu ではどうなるんだろう? 今回の様に対策が必要ないのか、また別の方法が必要なのかはわからない。
余談
以下、余談。
自動 lock や、suspend を一時的に無効にする方法
プレゼンテーションモードを使用する
- xfce4-panel に電源管理プラグインを追加して表示されたアイコンを左クリック →
プレゼンテーションモード
- xfce4-panel に通知エリアプラグインを追加後に、 xfce4-power-manager の
Show system tray icon
を 選択して表示されたアイコンを右クリック →プレゼンテーションモード
しかし、プレゼンテーションモードだと自動 lock はされない。名前の通り、プレゼンなどする時に使用するもののため、これは想定通りの動きと思われます。
Caffeine を使用する
$ sudo apt install caffeine
と、思ったけど、Xubuntu 14.04を使用していたときも、caffeine 2.6.2に独自パッチを当てていたため、これだけでは、普通に suspend されてしまった。 これについてまたの機会に…
Gnome の親切設計について
Gnome で suspend させる時は、 D-Bus 経由で suspend などをブロックしているアプリがあると、ちゃんと「このアプリが動いてるけど、本当に suspend していいのか?」と言った、ダイアログが表示される。親切。 Xfce の xfce4-session-logout では、問答無用に suspend してしまう。
*1:最近はGDMとGNOME Shellで実現されているらしいので、詳細はわからない - https://en.wikipedia.org/wiki/GNOME_Screensaver
*2:update-manager など?