オススメ

ATOM Editor カーソル移動をbash/emacs風に統一。How to install on Ubuntu,Manjaro.

ATOM Editor はめんどくさい?! という前にInstall 

install and customize like bash/emacs.

端末のbash/zshとエディターATOMでおおざっぱな動作を統一しています。カーソル移動とyank程度ではシームレスに使いたいためです。もと記事が初見殺しというご意見をいただいたので、貼り付けるだけで実現できるように改稿しました。

最初から多様なキーや機能があらかじめ用意されているVS CODEとは差がありますね。同じエレクトロンという出自ながら最近VS CODEの完成度の高さに感服しています。追記::この記事は18ヶ月前のものですが、最近ますます、Visual Studio Code が優秀になってきた上、マイクロソフトがGithubを買収しちゃったじゃないですか。笑) ATOM Editor どうなるんでしょうね。2018-08-08

ATOM editor :: How to installl ::ubuntu/Linux Mint

次の3行でインストールできます。
sudo add-apt-repository ppa:webupd8team/atom
sudo apt update 
sudo apt install atom

ATOM editor :: How to installl :: Manjaro/ArchLinux

次の1行でインストールできます。たぶんどちらでもいけます。
sudo pacman -S atom

あるいは
yaourt -S atom


keymap.cson部分:: ターミナル標準になるたけ合わせてみるATOM設定の例
まるごと貼り付ければたぶんうまくいく。
'body':
  'alt-s': 'core:save'  #ctrl-s 廃止という暴挙にでてもいいかな?!
  'ctrl-f': 'core:move-right'   #bash:右
  'ctrl-b': 'core:move-left'    #bash:左
  'ctrl-d': 'core:delete'       #bash:削除 1文字削除
  'ctrl-h': 'core:backspace'    #bash:削除前

  'ctrl-e': 'editor:move-to-end-of-screen-line' #bash:行末

  'ctrl-m': 'editor:newline'        #改行

  'alt-a': 'core:select-all' #'atom-workspace atom-text-editor':が本来所属するチーム★ここなら、一番下に書いたほうがいいのかもしれない。

'atom-text-editor':
  'ctrl-a': 'editor:move-to-first-character-of-line'    #bash行:先頭

'atom-workspace atom-text-editor':
  'ctrl-w': 'editor:delete-to-beginning-of-word'  #直前単語削除
  'ctrl-u': 'custom:bash-ctrl-u'#  ctrl-u ができればbash互換。これで完成。
  'ctrl-k': 'atomic-emacs:kill-line' #以下のselectToFirstCharacterOfLine()の 逆を書いてもよい。

単純代替できないコマンドのケース::ぷち♡ハック

#bash ctrl-u の実現 
パッケージを作るか、コマンドを作成します。後者がカンタンです。例
Keymap.cson へのバインディングの登録です。上の囲みには追記しました。
キーアサインを登録します。

'atom-workspace atom-text-editor':

  'ctrl-k': 'atomic-emacs:kill-line' #以下のselectToFirstCharacterOfLine()の 逆を書いてもよい。
#'editor:delete-line' 行削除

  'ctrl-u': 'custom:bash-ctrl-u'#  ctrl-u ができればbash互換。これで完成。

※ctrl-kの逆。カーソル以前を消す。keymap.cson

  'ctrl-w': 'editor:delete-to-beginning-of-word'  #直前単語削除

以上を貼り付ける。

ctrl-kについてはemacsでも2つの流派みたいなのがありますね。行削除とカーソル以降削除。自分でどうするか決めます。

ctrl-kは、ツーストロークコマンドの要でもあるので、全体キーバインディングを無効にするか、 少し違うキーで妥協したほうがいいのかもしれません。シェル側を変更するなど。共存はできます。

VS CODEのカスタマイズでもほぼ同じことがいえます。
atomic-emacs ではカット動作をオプションで選べますが、全機能キーをいきなり有効にするとemacs風味すぎるので、私は数個のみ使っています。emacs好きな方ならそれ(全面採用からの調整)でいいのだと思います。

#同時に以下ユーザー定義コマンド(CoffeeScript)を書き足す。
起動スクリプト init.cofee 4行で実現できます。

カーソル前文字列をカットしてそれをクリップボードに入れる新規コマンド
#bash ctrl-u 互換 カーソル前文字列をカットしてバッファに。
atom.commands.add 'atom-text-editor', 'custom:bash-ctrl-u', ->
  editor = atom.workspace.getActiveTextEditor()
  editor.selectToFirstCharacterOfLine()
  editor.cutSelectedText()

これでひととおりのbashシェル風味な機能アサインは完成するかと思います。少なくとも私が多用するbash/zshキーはこれでカバーされています。それでいいのだ。
カーソル前文字列をカットしてバッファに」位標準で用意されていればいいのにと思ったりもしますが、ATOMめんどくさい。

ATOM editor in 4K/Hi-DPI

ATOM設定画面が小さくて読めないという無理ゲー


WindowsではどうでもないのですがLinuxの当方の環境では、ATOMは絶望的なまでに、フォントが小さいテーマがあります。原因は、px指定しているテーマ設計者が意外に多いからですが、4KでHi-DPIにしないで使っていますので、そりゃ小さいはず。


以下の例はあえて極端に大きいフォントサイズですが次のようなスタイルシートを貼り付けてみてください。それから適宜調整を開始してみると良いです。オンタイムでできますから。
日本人の平均年齢以上対象(知ると我が国の将来が絶望的になる数字)にしています。

'ABC hare' は小生作成のエディター用フォントです。theme-uiで12px指定などになっていると4kにしたら恐ろしく小さくなりますね。themeファイルをいじるのは後回しのほうが効率がいいかと思います。

スタイルシートが空なら、そのままぺったん。何かあれば末尾にペイストしてください。


EDIT ~/.atom/styles.less


.status-bar { font-size: 250%;
    font-family: 'ABC hare' ;
}

.command-palette {
   font-size: 160%;
}

atom-pane {
     font-size: 200%;
}

.settings-title .settings-view .setting-description {
  font-size: 150%;
  font-family: 'ABC hare' ;
}


.tree-view,
.tab-bar .title {
    font-size: 180%;
    font-family: 'ABC hare' ;
}


//atom-panel-container,
atom-panel-container.bottom atom-panel {
    background-color: darkorange ;
    font-family: 'ABC hare' ;
    font-size: 240%;
    padding:0.9em;
    atom-text-editor {
        div.line, div.placeholder-text {
            font-size: 240%;
            font-family: 'ABC hare' ;
        //padding:0.0em;
        }
    }
}
#

Perl6 のインストールとOneLiner ワンライナーメモ よくある自分

Perl6 その後。


ターミナル(端末)。ubuntu系は以下を同時押し。CTRL+ALT+T

manjaro/archlinux/antergos

yaourt -S rakudo でいかったかと。
https://wiki.archlinux.jp/index.php/Perl#Perl_6

ubuntu

#Perl6 rakudo::  How to install 
(2017/01 最新版をいれてみる)その後2018年版もいれてみました。manjaro でも(pamacクリックでもインストールできます)。
#以下がないとコンパイルできません。 
sudo apt install build-essential git libssl-dev
 
#ここからソースゲットとコンパイル  
wget http://rakudo.org/downloads/star/rakudo-star-2017.01.tar.gz
tar xfz rakudo-star-2017.01.tar.gz 
cd rakudo-star-2017.01
sudo perl Configure.pl --gen-moar --prefix /opt/rakudo-star-2017.01     
sudo make install

たぶんこれでOK。上記サイトをよくご覧の上実行してください。PATHはマニュアルで設定しました。

PATH="/opt/rakudo-star-201701/share/perl6/site/bin:/opt/rakudo-star-201701/bin:$PATH"

当方は、日付部分をドットなしでインストールしています。


perl6 -v
This is Rakudo version 2017.01 built on MoarVM version 2017.01
implementing Perl 6.c.

#Perl6の場合
cd ; pwd #homeで。
(どこでもいいが4つぐらいファイルがあると便利)

echo >zshzsh.delete.txt #という名前のファイルを作成。
touch zshZSH.delete2.txt #という名前のファイルを作成。 
touch fshFSH.delete.txt #という名前のファイルを作成。
touch fshFSH.delete2.txt #という名前のファイルを作成。

文例)lsでリストをとり、そのなかのzshという小文字名があるファイルのみの置換結果を表示する。その他のファイルはリストしない。だから、安易に -peは使えない。

 ls | perl6 -ne 'print $_ if $_ ~~ s:i|zsh|BBB(ZSH)| '   #改行なし

 ls | perl6 -ne    'say $_ if $_ ~~ s:i|zsh|BBB(ZSH)| '   #sayで改行付き。
 ls | perl6 -ne    'say $_ if s:i|zsh|BBB(ZSH)| '   #sayで改行付き。さらに省略。

(置換条件を追加)
ls | perl6 -ne    'say $_ if ( s:i|zsh|BBB(ZSH)| and s|delete|削除するファイル| ) '  BBB(ZSH)ZSH.削除するファイル2.txt
BBB(ZSH)zsh.削除するファイル.txt
#Perl5の場合
ls | perl -ne 'print $_ if $_ =~ s|zsh|BBB(ZSH)|i'
#Perl5はさらに省略できる。Perl6はprintは裸ではだめ。
ls | perl -ne 'print if $_ =~ s|zsh|BBB(ZSH)|i '
#Perl5はさらに省略できる。通常ワンライナーではこの書き方の人が多いと思う。
 ls | perl -ne 'print if s|zsh|BBB(ZSH)|i '

現実的にはperl5では自分はこう書きます。

ls *zsh* | perl -pe 's|zsh|BBB(ZSH)|i '

ls *zsh* | perl6 -pe 's:i|zsh|BBB(ZSH)| '  #(perl6では)



  • Perl5でも最近のものは宣言すれば、sayが使える。文字数が増えるのでワンライナー向きではない。aliasなどに指定しておく手はある。cpanで、-e を -Eにすればよいと知った。これなら短いですね。
  • Perl5とPerl6では正規表現や文法が異なる。この例では、iの位置。前にもってくることで実行速度が速くなるらしい。と英語であった。このような短文字列なら大差はないが長文になった場合は、最後まで読まないとiだったのかぁとPerlが気がつくのが遅れると理解すればいい。つまり、最後に「あー、それからいい忘れていたけど、大文字小文字区別しないからね」といわれるより、「最初からいってくれよ。聞いてないよー」というネタみたいな話として解釈することにした。
  • 演算子というのかな。~~、=~ みたいなの。Perl5とPerl6で意味が違う。こういう違いがあるので、単純にPerl5で書いたスクリプトに6という文字をつけても怒られるだけである。~~ は有能な気がしますね。
  •  Perl5はなくてならならない道具だけれども、見本で示したようなケースはよいのですが行数が増えてくるとPerl6には簡単には移行できそうにないです。というか、今のままでよいです。汗)
  •  極めて個人的には、「あれ、この正規表現、通らないや!!」というとき、ワンライナーレベルならPerl6で実行するとすんなり思ったようになったりしますね。 その微妙さがわからない。
  • ?after ?before みたいな指定方法はPerl5に比べてわかりやすいな!!とか、少ないメタ文字の中でPerl開発者の皆さんが苦労されているのが忍ばれます。追加で9から16個ぐらいメタ文字が増えると世界が変わるのでしょうけれど。$シリーズなんて大活躍しすぎです(覚えにくかった)。

試しているrakudo(古いことに気がついたので、冒頭の2017/01版を導入しました)
perl6 -v
This is perl6 version 2015.11 built on MoarVM version 2015.11

今、これ。manjaro上です。
$ perl6 -v
This is Rakudo version 2018.05 built on MoarVM version 2018.05
implementing Perl 6.c.


GPUドライバ関連の刷新でハッピー

祝、HW支援安定

2017/02/10早朝、GPU関連のドライバが一気にアップグレードされました。
気がついた範囲でいば、VDPAUを有効にしたほうが遅いとか、VDPAU有効の方が重いとか、そういう面白い現象がなくなったかもしれません。 ありがとうございます。

hwdec=no で使っていましたが、hwdec=vdpauに戻したmpv。mpvの動作が著しく軽くなりました。まだまだですが、少しづつよくなっていってほしいです。(耐性がついた)

当方は、amdですが、nvidiaの方も変化があるのかもしれません。


libdrm-amdgpu1/xenial-updates 2.4.70-1~ubuntu16.04.1 amd64 [2.4.68-1~ppa からアップグレード可]
                                 略。
mesa-vdpau-drivers/xenial-updates 12.0.6-0ubuntu0.16.04.1 amd64 [11.2.0-1ubuntu2.2 からアップグレード可]

mpv で外部の音声ファイルを個別指定する。audio-file

たとえばオーサリング過程のBGM効果の検証など


めんどくさいアプリで確認したりする前に、次のように指定すると、音声だけが別トラック指定できるので、なんとなく雰囲気をつかむ場合ははやくていいかもってお話です。

オプションで、BGMにする音を指定します。オリジナルの動画ファイルの音声は再生されませんので、これはこれで便利かと思います。車載動画なんかの編集をする前に雰囲気つかむにはいいかも。

Smplayerなどでは、メニューから外部音声ファイルを選べば同じことができます。



#
mpv --audio-file=./audio.mp3 movie.mp4


リビングのこたつから書斎PCを覚醒させる。Wake On LAN (ubuntu16.04/Mint18.1)

こたつから書斎PCを覚醒(大改定)

あらたにためした方法(こっちが冴えている?!)

追記;;systemd が今週(2017-10-2x)アップデートされて、いろいろ動かないのがでてきました。

sudo gedit /etc/default/tlp

# Disable wake on LAN: Y/N
WOL_DISABLE=YN にする。

rc.localは触りません。これだけです。
これで再起動してOKならそのまま。当方ではこれでOKでした。もしかしたらもっとも適切な設定がこれなのかもしれません。

だめなら一応
sudo gedit /etc/default/halt
NETDOWN=no

ってかんじでしょうか。下記参照。

https://unix.stackexchange.com/questions/318137/wake-on-lan-not-working-on-ubuntu-16-04

realtek か intel か

長年、NIC はintel で来たのですが、realtek に変更してから、WoLでトラブル頻出になりました。該当する場合、archLinux wiki を読んでみてください。

当方で難儀したのは次のNICです
$ lspci | grep Real
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

これまでの方法

(1)ツール導入 Wake on Lan 必須
sudo apt install ethtool

(2)ファイル追記。
sudo vi /etc/rc.local
interface=enp4s0
logger -t 'wakeonlan init script' enabling wake on lan for $interface
ethtool -s $interface wol g

これだけです。うちの環境は、ルーターやモデムの電源そのものを完全に切断するタイマーを設置しているので、このほうが都合がいいみたいです。というか、これが一番いいんじゃないか?!です。2ヶ月以上この設定ですがノートラブル(16.04LTS)。

以下、過去稿 


あまり参考にしないでください。
読むなら、https://help.ubuntu.com/community/WakeOnLan
をどうぞ。

記録のために以下に試行錯誤メモを残しております。

家、しかもこたつからやったらダメ人間養成器じゃないのかという議論はごく一部にありますが、新規にターミナル(端末)を開きます。ubuntu系は以下を同時押し。CTRL+ALT+T

#有効にするには、ほとんどのケースでは何も考えずに次を実行して(さらに何も考えずに)リブート。その際にBIOSの設定が正しいかも確認しておきましょう。
#Wake on Lan 必須
sudo apt install ethtool

#削除しました。
sudo apt-get install powernap
たぶんこれだけでリビングのこたつからスマホを使って書斎PCを覚醒させるには十分だと思います。

#次いで確認:昔(4年前かな)と違うところ。現在のネットワークマネージャー経由
enp4s0かどうか(インターフェイス名)は、
ifconfig とターミナルで実行。通常①行目の左端に表示されます。


sudo ethtool enp4s0 | grep Wake-on
    Supports Wake-on: pumbg
    Wake-on: g <<ここ大事!

これでもいいです。
sudo ethtool enp4s0 | grep -oP 'Wake-on: (.)$'
sudo ethtool enp4s0 | grep 'Wake-on' | grep -v 'Supports'
※インターフェイス名注意 昨今は伝統的な eth0 ではないです。
「g」となってないとだめです。
上記のpowernap いれて再起動するだけで何も考えなくていい(はず)。ではなかった。

よって以下を追記します。
==========

起動時にethtoolを有効にする。ための作業。


①ファイルを作る(注意してください。起動時に実行されるファイルです)
sudo gedit /etc/init/wakeonlan.conf
---以下6行をペイスト
start on started network
script
    interface=enp4s0
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
end script

---保存

②実行属性をつける。不要だと思うけど。
sudo chmod +x /etc/init/wakeonlan.conf

このふたつで基本的に終わり。再起動して確認して見てください。

③念の為再起動する前に動かしてみる。
 
sudo service wakeonlan start

sudo ethtool enp4s0 | grep Wake-on

gになっているか?! Wake-on: g

④ほんとうの確認
再起動してほんとうに自動的に設定されているか確認する。 冒頭に戻る。

sudo ethtool enp4s0 | grep Wake-on


gになっているか。Wake-on: g

追記:何もしないでいけたのは以前かも。長らくアップグレードし続けた環境ではなく新規インストール環境ではうまくいきませんでしたので。


マザーボードのBIOS設定が完了しているという前提です。http://poor-user.blogspot.jp/2012/12/wol.html が5年前に書いた記事。5年前はアイフォンを使っていたみたいです。

いまどきのandroidアプリであれば、どれでもいいんじゃないか、と思います。インターフェイスのボタンの大きさが好みだとか押しやすいとかそんな基準で★★★★4.以上ならOKかと。

参考、参照サイト
https://play.google.com/store/search?q=wake%20on%20lan&c=apps&price=1&rating=1&hl=ja

kodi http://kodi.wiki/view/HOW-TO:Set_up_Wake-on-LAN_for_Ubuntu