Linux あれこれ

Linux 関連の備忘録です。

Web ブラウザで使える「Ace」コードエディタ〈H164〉

登録日: 2023-02-01 更新日: 2023-02-01

GitHub の機能である「GitHub Gists」について調べていたら、ブラウザ上で使える「Ace」コードエディタのことが出てきました。

おもしろそうなので、その「Ace」コードエディタの使い方にトライしました。

ブラウザ上で使えるので、色々な場面や、Chromebook とかタブレットなど、端末を選ばずに「テキストエディタ」として使えそうです。

また、クラウド上でシステム開発を行う「AWS Cloud9 IDE 」のエディタとしても使われているようなので、知っていて損はないと思います。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. ネット上の CDN(Content Delivery Network)を使うやり方:

  2. Ace のソースコードをダウンロードして使うやり方:

  3. カスタマイズ時の項目:

  4. 個人的なエディタの html(CDN を使う場合):

  5. 個人的なエディタの html(ソースをダウンロードする場合):

-

参考:

  1. 「JavaScript」について:

  2. 「JavaScript」の基本的なルール:

  3. 「JavaScript」の書き方:

  4. 「JavaScript」をHTML ファイルに直接書く:

  5. 「JavaScript」を外部ファイルとして作成:

  6. 「JavaScript」の実行(html ファイルを実行):

  7. 「JavaScript」の実行(ブラウザの「コンソール」で実行):

  8. 「ブックマークレット」の作成:

-

「まとめ へ」

-

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

「Ace」コードエディタを起動:

-

ブラウザのブックマークに登録した「Ace Editor」を起動:

「Ace Editor」タブで開きました:

→色使いは、テーマを変更すれば変更できます。

-

日本語入力で、変換時の表示がくずれる現象が出ますが、日本語入力はちゃんとできました。

-

英語のエディタ(コードエディタ)なので、「全角の絵記号」でカーソルの動きが正常か確認:

記号の表示●●test

英語のエディタだと、全角文字に対応していないのはよくあることです。 絵記号の入力は出来ましたが、予想通り、絵記号以降でカーソルの動きが 2バイト(全角)でなく 1バイト(半角)になり、カーソル位置が文字位置とズレてしまいます。

ただし、表示が乱れないのは優秀です。 絵記号でおかしくなることをわかっていれば、絵記号の使用を避けたり、後で貼り付けるとかの回避策が取れます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

1. Web で使える「Ace」テキストエディタ:

-

公式サイト:

「Ace」(Ajax.org Cloud9 Editor) は、JavaScript で書かれたコード エディタです。 アプリと言うよりも、コードエディタを組み込めるライブラリなので、Web ページや JavaScript アプリケーションに簡単に埋め込むことができます。

-

カスタマイズも簡単で、お気に入りのテーマや、言語(html、JavaScript)の強調表示、キーバインドVimEmacs)を追加できます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

2. ネット上の CDN(Content Delivery Network)を使うやり方:

-

参考:

ブラウザ上で使えるJavaScript製テキストエディタAce入門

-

使うのに、インストールは必要ありません。

個別のアプリとして使うことも、サイトの html に組み込むこともできます。

-

CDN(content delivery network)とは、

ウェブコンテンツをインターネット経由で配信するために最適化されたネットワークのことです。 サーバ(キャッシュサーバ)を分散して置くことで、サイトへの集中で反応が遅くなったり、応答不能になることを回避しています。

-

1). 作業フォルダの準備:

$ mkdir -p ~/apps

-

2). ネット上の CDN にあるソースを使う場合の、html ファイルを作成:

$ mousepad ~/apps/ace.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Ace Editor</title>
  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<!-- 
ブラウザで使える JavaScript のテキストエディタです
 -->
  <div class="btn-group">
    <div class="btn-group">
      <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-search"></i> <span class="caret"></span></button>
      <ul class="dropdown-menu" id="font-size">
        <li><a href="#" data-size="14">小さい</a></li>
        <li><a href="#" data-size="16">普通</a></li>
        <li><a href="#" data-size="18">大きい</a></li>
      </ul>
    </div>
    <button id="bold" class="btn btn-default"><i class="glyphicon glyphicon-bold"></i></button>
    <button id="save" class="btn btn-default"><i class="glyphicon glyphicon-floppy-save"></i></button>
    <button id="load" class="btn btn-default"><i class="glyphicon glyphicon-folder-open"></i></button>
  </div>

  <div id="editor" style="height: 600px"></div>

  <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js"></script>
  <script>
    var editor = ace.edit("editor");
    editor.$blockScrolling = Infinity;
    editor.setTheme("ace/theme/monokai");

    // editor.getSession().setMode("ace/mode/html");
    editor.getSession().setMode("ace/mode/markdown");

    $('#font-size').click(function(e) {
      editor.setFontSize($(e.target).data('size'));
    });

    $('#bold').click(function(e) {
      editor.insert('<strong>' + editor.getCopyText() + '</strong>');
    });

    $('#save').click(function(e) {
      localStorage.text = editor.getValue();
      alert("保存しました。");
    });

    $('#load').click(function(e) {
      if (!confirm("読み込みますか?")) return;
      editor.setValue(localStorage.text, -1);
    });
  </script>

</body>
</html>

-

3). ファイルマネージャを開きます:

「~/apps/ace.html」をダブルクリック →「ブラウザ」で「Ace Editor」タブが開きました:

→機能が拡張されています:

「虫めがね」アイコンで、文字サイズの変更(小さい / 普通 / 大きい)。

範囲指定してから、「B」のクリックで、太字の指定。

「2つのボタン」で、ローカルストレージ に内容を「保存」、それの「読込」が可能です。

-

4). ブックマークに登録:

-

5). 次回からは、「ブックマーク」から起動できます

-

参考:ファイルの保存に使われている「LocalStorage」(ローカルストレージ) について:

「LocalStorage」は、ブラウザ内に保存されます。

JavaScript で簡単に保存・取り出しが出来ますが、JavaScript でしか操作できません。
保存形式は文字列のみで、最大容量は「5MB」までです。

-

ちなみに、ブラウザのデバッグ画面で、保存された内容が確認できます:

Firefox ブラウザで「Ace」のタブを開きます。

空きで、右クリック→「調査」→「ストレージ」→左側で「ローカルストレージ」

→右側の「text」に登録された内容が表示されます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

3. Ace のソースコードをダウンロードして使うやり方:

-

組み込みに便利な、ビルド済みファイルが置かれている GitHub:

ajaxorg/ace-builds

-

1). ソースをダウンロード:

2022-05-12 公開:

Download ZIP

-

2). 「~/ダウンロード/ace-builds-master.zip」を「~/apps/」に移動:

$ mkdir -p ~/apps
$ mv ~/ダウンロード/ace-builds-master.zip ~/apps/

-

「~/apps/ace-builds-master.zip」を右クリック→「ここで展開」
「~/apps/ace-builds-master.zip」を削除

-

3). 作成された「~/apps/ace-builds-master/」フォルダを確認:

$ ls ~/apps/ace-builds-master/
CHANGELOG.md        ace.d.ts           src
CODE_OF_CONDUCT.md  bower.json         src-min
CONTRIBUTING.md     css                src-min-noconflict
ChangeLog.txt       demo               src-noconflict
LICENSE             editor.html        webpack-resolver.js
README.md           kitchen-sink.html
ace-modules.d.ts    package.json

-

4). 組み込みに便利な、ビルド済みファイルのフォルダが「4つ」ありました:

「~/apps/ace-builds-master/README.md」より抜粋:

(1). 「src 」は、連結されているが縮小されていません

(2). 「src-min」は、uglify.js で連結および縮小されています

(3). 「src-noconflict」は、require の代わりに ace.require を使用

(4). 「src-min-noconflict」は、uglify.js で連結および縮小されて、require の代わりに ace.require を使用

-

5).「最小限のデモ: editor.html」(~/apps/ace-builds-master/editor.html)

最小限の英語のバージョン:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Editor</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }

    #editor {
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor">function foo(items) {
    var i;
    for (i = 0; i &lt; items.length; i++) {
        alert("Ace Rocks " + items[i]);
    }
}</pre>

<script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/twilight");
    editor.session.setMode("ace/mode/javascript");
</script>

</body>
</html>

→使い方のサンプルです。

-

「~/apps/ace-builds-master/editor.html」をダブルクリックして起動してみる :

-

6).「kitchen-sink 」(~/apps/ace-builds-master/kitchen-sink.html)

→使える言語やテーマの確認ができます:

-

起動した画面:

-

7).「bookmarklet 」(~/apps/ace-builds-master/demo/bookmarklet/index.html)

→設定を変更しての「bookmarklet」を作成できます:

-

起動した画面:

-

8).「scrollable-page 」(~/apps/ace-builds-master/demo/scrollable-page.htmll)

→テーマの違いを確認できます。

-

起動した画面:

→下の「+」でテーマ違いが表示

-

選択して、F11 を押下

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

3-2. 個人的なエディタとして「html」ファイルを作成:

-

$ mousepad ~/apps/ace-builds-master/My-editor.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Editor-ja</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }

    #editor {
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>
<!-- 
ブラウザで使える JavaScript のテキストエディタです
 -->

<!-- 例題の表示 -->
<pre id="editor">
function foo(items) {
    var i;
    for (i = 0; i &lt; items.length; i++) {
        alert("Ace Rocks " + items[i]);
    }
}

ace を Web ページに埋め込む簡単なやり方:
[editor.html](https://github.com/ajaxorg/ace-builds/blob/master/editor.html)

</pre>

<script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
<script>
    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/monokai");
    editor.session.setMode("ace/mode/markdown");
    editor.setFontSize(16);
</script>

</body>
</html>

→「My-editor.html」をダブルクリックすれば、「テキストエディタ」がブラウザで起動します:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

3-3. カスタマイズ時の項目:

-

(1). 言語の選択、どれか:

editor.session.setMode("ace/mode/markdown");
editor.session.setMode("ace/mode/javascript");
editor.session.setMode("ace/mode/html");

-

(2). テーマの選択:

editor.setTheme("ace/theme/monokai");

-

(3). フォントサイズの設定:

editor.setFontSize(14);

-

(4). ソフトタブを使うか(タブにスペースを使用):

editor.session.setUseSoftTabs(true);

-

(5). 折り返し:

editor.getSession().setUseWrapMode(true);

-

(6). タブサイズの変更

editor.getSession().setTabSize(2);

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

4. 参考: 「JavaScript」について:

-

「Ace」でも使われている、「JavaScript」について学んでみました:

-

参考:

JavaScriptの書き方、基本ルールをコードつきで徹底解説!

-

学習にオススメ:

JavaScript Primer: 迷わないための入門書

→記事中に埋め込まれたエディター の入力欄、
もしくは、「項番 4. 5). (2). 」ブラウザの「コンソール」機能で、「JavaScript」の実行確認ができます。

-

JavaScript」は、ブラウザ上で動くプログラミング言語です。ほとんどの Web サイトで使われています。

以前は、HTML と CSS だけの Web サイトが一般的でしたが、JavaScript によって見やすい表現を追加できるようになりました。JavaScript の基本の部分が標準化されたのち、jQuery をはじめとしたライブラリやフレームワークが続々と誕生し、より便利に活用できるようになりました。

-

1). JavaScript の利点:

ブラウザだけで動かせます
作ったプログラムがすぐに見られます
フロントサイドでも、サーバーサイドでも使えます
Windows でも、Mac でも動きます
下位互換性を保っての、機能の追加が行われます。

-

2). JavaScript で実現できること:

ポップアップウィンドウを表示できます
ブラウザ上で画像を「拡大表示」してWebページを見やすくできます
メッセージ送付やパスワード入力などのフォームの設置ができます
カーソルを合わせると表示されるメニューの設置ができます
スライダーの作成ができます
カウントダウン タイマーの設置ができます
最新のランキングを表示できます
内容の並べ替えができます
検索機能の作成ができます
ゲームの作成ができます

JavaScript で多くの割合を占めているのが「フロントエンド」部分の設計・開発です。

安定した需要があるので、習得すると色々と有利です。

-


3). JavaScript の基本的なルール:

-

JavaScript では、大文字と小文字は明確に区別されます:

変数に名前を付ける時や、または既に定義されている予約語を使う場合には、大文字/小文字も正確に記述する必要があります。

-

JavaScript では、改行は自由に入れることが出来ます

改行が命令文の区切りを意味する場合や、字下げをブロックとして扱う、プログラミング言語もあります。

-

JavaScript では、文の区切り文字としてセミコロン「;」を使います

セミコロンは省略できますが、予期しないエラーの原因となるので、付けるのが無難です。

例外としてブロックで終わる文の末尾「}」には、セミコロンが不要です。

-


4). JavaScript には、2つの書き方(記述場所)があります:

-

書き方1: HTML ファイルに「JavaScript」を直接書くやり方:

-

(1). HTML のファイルの中に「script」タグで囲まれた部分を書くと、JavaScript のプログラムとして認識されます。

HTML ファイル:

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>JavaScript の説明</title>
  </head>
  <body>
    <script>
       JavaScript のプログラム部分         ←(ここに記述)
    </script>
  </body>
</html>

-

(2). Web ブラウザは HTML ファイルを上の行から下の行へと順番に処理して行きます:

HTML ファイルの読み込みの決まりは、DOM(Document Object Model)と呼ばれます

body タグではなく、head タグ内に script タグを記述するときは、HTML や JavaScript が読まれる順序やタイミングに注意が必要です。

-


書き方2: 外部に「JavaScript」ファイルを作成、HTML ファイルから読み込むやり方:

JavaScript」プログラムだけを記述した外部ファイルが、「JavaScript」ファイル (.js) です。

「HTML」と「JavaScript」を分離することでコードが見やすくなり、開発効率が向上する、オススメのやり方です。

-

(1).「JavaScript」ファイルを準備:

「main.js」ファイルを作成:

    const h1 = document.querySelector('h1');
    console.log(h1);

この main.js ファイルは、HTML 内にある h1 要素を取得して開発者ツールの Console タブに出力するという内容です。 このファイルを index.html と同じディレクトリ(フォルダ)に置いておきます。

-

(2).「script」タグで、外部ファイルを読み込む:

一般的には、「script」タグの「src」を使って記述します。

    <script src="main.js"></script>

「src」にファイル名を指定すれば、自動的にファイルの中の「JavaScript」が実行されます。
また、読み込む「JavaScript」ファイルが複数でも同じです。

    <script src="main1.js"></script>
    <script src="main2.js"></script>
    <script src="main3.js"></script>

-

(3). 読み込まれる「JavaScript」ファイルは、「HTML」ファイルの上の行から下の行に順番に処理されて行くので注意:

例えば、「main2.js」の中で定義されている関数は「main1.js」では実行できないので、
「外部ファイル」を読み込む時は注意します。

-


5). 「JavaScript」プログラムを実行して確認する方法:

-

(1). html ファイルから実行するやり方:

通常の実行のしかたです。ダブルクリックすれば、ブラウザで新規「タブ」、または、ダイアログとして起動します。

-

(2). ブラウザの「コンソール」機能を使うやり方:

Firefox ブラウザの「REPL」(インタプリタみたいなコマンドラインの)機能を使います。

Ctrl+Shift+K

もしくは、

画面右上の「横3本線」アイコン(メニュー)→「その他のツール」→「ウェブ開発ツール」→「コンソール」タブを選択

-

コマンドラインのプロンプト「>>」が表示:

JavaScript のコードを 1行ごとに実行できます。

Shift + Enter で改行して、複数行の入力もできるので、確認しながらの実行ができます。

-

注意点は、REPL は終了するまで const キーワードなどで宣言した変数(初期値の定義)が残り続けます。1行ずつ実行しても、同じ変数名を定義したことになるため、構文エラー(SyntaxError)となります。

エラーは、ブラウザの左上の「リロード」ボタンをクリックすると、リセットされます。

-

使用例:

→実行結果の確認にも使えます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

4-2. 参考:「JavaScript」の書き方:

-

参考:

JavaScriptの書き方、基本ルールをコードつきで徹底解説!

-

1). html ファイルの作成:

$ mousepad ~/apps/ace2.html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>JavaScript の実行</title>
  </head>
  <body>
        <!-- 外部ファイルとして読込むときは、下記のファイルに記述 -->
        <script src="file:///home/ubn/apps/main.js"></script>
        <script>
            // 直接記述するときは、ここに記述
        </script>
  </body>
</html>

-

2). 外部ファイルとして読み込む場合に作成:

JavaScript ファイルの作成:
$ mousepad ~/apps/main.js

<script></script> の行は削除して、その中のコードだけ記述してください。

-

3). 実行のしかた:

ファイルマネージャで、html ファイルの「~/apps/ace2.htm」をダブルクリックすれば、ブラウザで新規のタブが開きます。

-

使用している命令の違いで、表示のしかたが変わります。

-

例 1). 」の場合: alert(' ');

ダイアログが表示:

-

例 5). 」の場合: console.log( );

画面真っ白のはずです。

-

Ctrl+Shift+K

または、

画面の空きで、右クリック→「調査」→画面の下にデバッグ画面が表示

→「コンソール」タブ→「ログ」タブ

→実行結果が表示されます:

→画面右側を見ると、どのファイルのどの行の実行結果かがわかります。

-

デバッグ画面の右上の「x」で閉じます。

-


例 1). JavaScript で、「アラートダイアログ」を表示:

      <script>
            alert('Hello world!');
      </script>

Web ブラウザで HTML を表示すると、

初期表示時に「Hello world!」というアラートダイアログが表示されます。

-


例 2). 1行だけ、コメントにしたい場合:

コメントにしたい場合は「//」を使います。

      <script>
            // alert('Hello world!');
      </script>

-


例 3). 複数行コメントにしたい場合:

      <script>
            /*
            alert('Hello! world1');
            alert('Hello! world2');
            */
      </script>

-


例 4). HTML のコメント構文を中で使った場合:

      <script>
            <!-- この行は、1行コメントです
            console.log("この行は、コメントではなく、JavaScript として実行されるので注意");
            -->  この行は、1行コメントです
      </script>

→HTML のコメントの機能とは違って、すべてがコメントにならないので注意。

HTML のコメントが不完全な形で使えるのは、下位互換性を保つために残されている機能みたい。

-


例 5). 数値と文字列を表示:

      <script>
            console.log(10 + 5); // 数値の計算 結果は 15
            console.log(10 - 5); // 数値の計算 結果は 5
            console.log(10 * 5); // 数値の計算 結果は 50
            console.log(10 / 5); // 数値の計算 結果は 2
            console.log(11 % 5); // 数値の計算 結果は 1 ※余りの計算
            console.log("Hello + Wold!"); // 文字列の処理 結果は Hello! + Wold!
            console.log("Hello" + "Wold!"); //文字列の処理 結果は Hello!Wold!
      </script>

-


例 6). 変数の与え方:

      <script>
            var pet = ”チワワ”;
            var count = 10;
      </script>

-


例 7). 条件分岐の、if 文:

      <script>
            var pet = "チワワ";
            if(pet == "チワワ"){
                alert("ペットは、チワワ!");
            } else {
                alert("ペットはチワワではない!");
            }
      </script>

-


例 8). 条件が多い場合の、Switch 文:

      <script>
              var pet = "チワワ";
              switch( pet ) {
                 case '柴犬':
                    alert('ペットは、柴犬!');
                    break;
                 case 'チワワ':
                    alert('ペットは、チワワ!');
                    break;
                 case 'マルチーズ':
                    alert('ペットは、マルチーズ!');
                    break;
                 case 'ダックスフンド':
                    alert('ペットは、ダックスフンド!');
                    break;
              }
      </script>

-


例 9). 繰り返し処理、for 文:

変数 count が 0 からスタートし、条件式「count < 10」を満たす間、繰り返し処理を行います:

      <script>
                for (let count = 0; count < 10; count++) {
                    console.log((count + 1) +  "回目の処理");
                }
      </script>

-


例 10). 繰り返し処理、while 文:

while 文は条件式を満たす間、繰り返し処理を行います:

      <script>
                let count = 0;
                while (count < 10) {
                    console.log((count + 1) +  "回目の処理");
                    count++;
                }
      </script>

-


例 11). 繰り返し処理、for...of 文:

for...of 文を使うと、配列などの要素数だけ繰り返し処理を行います:

      <script>
                const array = ['Wold1', 'Wold2', 'Wold3'];
                for (let i of array) {
                    console.log(i);
                }
      </script>

-


例 12). 関数を作れば、複数個所で利用できます:

      <script>
              // 関数 hello を定義
              function hello() {
                  alert("Hello Wold!");
              }
              // 関数 hello を呼び出し
              hello();
      </script>

-


例 13). 引数の使い方:

引数は関数に入力する値です。入力された引数に従った処理を実行します。

        <script>
                // 関数helloを定義(引数nameを設定)
                function hello(name) {
                    console.log("Hello!" + name);
                }
                // 引数に「ichiro」を指定して関数 hello を実行
                hello('ichiro');
                // 引数に「jiro」を指定して関数 hello を実行
                hello('jiro');
                // 引数に「saburo」を指定して関数 hello を実行
                hello('saburo');
        </script>

-


例 14). 戻り値・返り値の使い方:

関数を呼び出した側は、関数が処理した結果を受け取ることができます。

        <script>
                // 関数 hello を定義
                function hello(name) {
                    return "Hello!" + name;
                }
                // 関数 hello の戻り値を受け取り
                message = hello('ichiro');
                // コンソールに変数 message の値を表示
                console.log(message);
        </script>

-


例 15). ライブラリを読み込む:

ライブラリとは、よく使うプログラムをまとめたファイルのことです。

具体的には、あらかじめ便利なメソッド群や API を提供するプログラムを作成したものです。
ライブラリを使えば複雑なプログラムをより効率よく記述できます。

-

JavaScript は、利用できるライブラリが豊富です。
ライブラリとして有名なのは「jQuery」です。

-

JavaScript ライブラリの「jQuery」を読み込み:

HTML ファイル:

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>JavaScript の説明</title>
        <script src="jquery.js"></script>     ←(ライブラリを読込み)
  </head>
  <body>
  </body>
</html>

-

(1). ローカルに置かれた、JavaScript ライブラリを読み込むやり方:
    <script src="jquery.js"></script>

→HTML ファイルと「jquery.js」ファイルが同じフォルダにある場合です。

-

(2). ローカルに置かれた、JavaScript ライブラリを読み込むやり方2:
    <script src="file:///home/ubn/apps/lib/jquery.js"></script>

→HTML ファイルと「jquery.js」ファイルが違うフォルダにある場合です。「ubn」はユーザ名。

-

(3). CDN経由のURLを記述して、JavaScript ライブラリを読み込むやり方:
    <script src="https://code.jquery.com/jquery-3.4.1.js"></script>

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

5. 参考:「ブックマークレット」について:

-

JavaScript の使い方のひとつです。

-

参考:

【必見】ブックマークレットの使い方・作り方と便利なおすすめ13選を解説

-

ブックマークレット」は、JavaScript で作られたプログラム(1行)を Web ブラウザのブックマークのURLとして登録して、便利に使えるようにしたアプリです。

ブックマークのクリックで、 Web ページの見た目を変えたり、選択したテキストをキーワード検索したり、ページ翻訳したりなど、さまざまな機能を簡単に実行できます。

-

ブックマークレットの利点:

クリックで JavaScript を実行できます
どのWeb ブラウザでも動作します
ブックマークとして管理できます

-

ブックマークレットの難点:

簡単に使えることを利用して、悪いことをする人が存在します
セキュリティの穴(個人情報の漏洩、マルウェア感染)になるリスクが高いです
余分なスペースが削除されているので、改版されてもわかりづらいです
ブラウザによっては拒否されて実行できません

-


1). 「ブックマークレット」作成のやり方:

-

(1). JavaScriptソースコードを記述:

コードやブックマークレットの参考となるサイト:

「JAVASCRIPT::BOOKMARKLET」

「Bookmarkletサンプル集」

-

ブックマークレットに登録するには、JavaScriptソースコードを「1行で記述」し、長さをURL の制限におさめる必要があります。

-

(2). 変換前に、ソースコードに「コメント」がある場合は削除します:

-

(3). 「Online JavaScript beautiflier」などを使用してソースコードを整形、見やすくしたり、変換しやすくします:

-

(4). 「変換ツール」で、JavaScriptブックマークレットに変換:

手動で変換しても OK

-

変換ツール:

bookmarklet maker」

「Closure Compiler」

-

(5). ブラウザに 仮のブックマークを新規登録:

ちなみに、 キーボードの「Ctrl」+「Shift」+「B」キーを押すことで、「ブックマークバー」を表示できます。

-

(6). ブックマークを編集:

ブックマークレット」を3回クリックシて選択。コピーします。

既存の URL を消してから、「ブックマークレット」を貼付けます。

-


2). 手動で「ブックマークレット」を作成してみる:

参考:

ブックマークレット/Bookmarkletの作り方

-

ブックマークレット」の書式:

javascript:(実際の処理);

-

例題 1:

Hello World」をダイアログで表示:

javascript:
   var d=window.open().document;
   d.writeln('<textarea rows=1 cols=40>'+'世界の皆さん、こんにちは'+'</textarea>');

↓ 必要なスペースは「%20」に変換、余計なスペースや改行を削除:

javascript:var%20d=window.open().document;d.writeln('<textarea%20rows=1%20cols=40>'+'世界のみなさん、こんにちは'+'</textarea>');

3回クリックして、コピー、ブックマークのURL に貼付け

-

例題 2:

選択したテキストをダイアログで表示:

javascript:var%20d=document;
var%20tx=d.selection?d.selection.createRange().text:d.getSelection();
alert(tx);

↓ 必要なスペースは「%20」に変換済みなので、余計なスペースや改行を削除:

javascript:var%20d=document;var%20tx=d.selection?d.selection.createRange().text:d.getSelection();alert(tx);

3回クリックして、コピー、ブックマークのURL に貼付け

-

例題 3:

現在表示しているページへの Markdown リンクを作成:

javascript:(function(){function%20o(s){var%20d=window.open().document;
d.writeln('<textarea%20rows=15%20cols=80>'+s+'</textarea>');
d.close()};
o('-['+document.title+']('+location.href+')');})();

↓ 必要なスペースは「%20」に変換済みなので、余計なスペースや改行を削除:

javascript:(function(){function%20o(s){var%20d=window.open().document;d.writeln('<textarea%20rows=15%20cols=80>'+s+'</textarea>');d.close()};o('-['+document.title+']('+location.href+')');})();

3回クリックして、コピー、ブックマークのURL に貼付け

-

ブラウザに現在表示のタブで、「ブックマーク」をクリック:

-[ブックマークレット/Bookmarkletの作り方 - catch.jp-wiki](https://www.catch.jp/wiki/?Bookmarklet%A4%CE%BA%EE%A4%EA%CA%FD)

→表示されました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

5-2. 「Ace」の「ブックマークレット」を使ってみました:

-

「Ace」のソースに「ブックマークレット」があったので使ってみました:

トライしただけなので、作業は要りません。

-

参考:

Ace Bookmarklet

-

「項番 3.」で「Ace」のソースをダウンロードしていた場合は、

「~/apps/ace-builds-master/demo/bookmarklet/index.html」をダブルクリックすれば、

bookmarklet」がブラウザで起動されます:

→左上は、表示の変化がわかるようにプログラムの例題が表示。その上に黒い設定画面が重なっています。

右下の三角で表示、非表示を変更できます。

-

1). 「Ace Bookmarklet」の使い方:

(1). 設定画面で、設定を変えてみます

(2). 左下の「Ace Bookmarklet Link」をクリックして、右クリック →コピー

(3). もしくは、右の入力欄をクリアしてから、「Ace Bookmarklet Link」をマウスでつかんで、そこにドロップします。

(4). 貼り付けた結果:

javascript:(function inject(options, callback) { var load = function(path, callback) { var head = document.getElementsByTagName('head')[0]; var s = document.createElement('script'); s.src = options.baseUrl + "/" + path; head.appendChild(s); s.onload = s.onreadystatechange = function(_, isAbort) { if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") { s = s.onload = s.onreadystatechange = null; if (!isAbort) callback(); } }; }; var pending = []; var transform = function(el) { pending.push(el) }; load("ace.js", function() { ace.config.loadModule("ace/ext/textarea", function(m) { transform = function(el) { if (!el.ace) el.ace = m.transformTextarea(el, options.ace); }; pending = pending.forEach(transform); callback && setTimeout(callback); }); }); if (options.target) return transform(options.target); window.addEventListener("click", function(e) { if (e.detail == 3 && e.target.localName == "textarea") transform(e.target); });})({"selectionStyle":"line","highlightActiveLine":true,"highlightSelectedWord":true,"readOnly":false,"copyWithEmptySelection":false,"cursorStyle":"ace","mergeUndoDeltas":true,"behavioursEnabled":true,"wrapBehavioursEnabled":true,"enableAutoIndent":true,"keyboardHandler":null,"showLineNumbers":true,"customScrollbar":false,"hScrollBarAlwaysVisible":false,"vScrollBarAlwaysVisible":false,"highlightGutterLine":true,"animatedScroll":false,"showInvisibles":false,"showPrintMargin":false,"printMarginColumn":80,"printMargin":false,"fadeFoldWidgets":false,"showFoldWidgets":true,"displayIndentGuides":true,"highlightIndentGuides":true,"showGutter":false,"fontSize":"14px","scrollPastEnd":0,"theme":"monokai","maxPixelHeight":0,"useTextareaForIME":true,"scrollSpeed":2,"dragDelay":0,"dragEnabled":true,"focusTimeout":0,"tooltipFollowsMouse":true,"firstLineNumber":1,"overwrite":false,"newLineMode":"auto","useWorker":true,"useSoftTabs":true,"navigateWithinSoftTabs":false,"tabSize":4,"wrap":"off","indentedSoftWrap":true,"foldStyle":"markbegin","mode":"javascript","enableMultiselect":true,"enableBlockSelect":true,"baseUrl":"https://ajaxorg.github.io/ace-builds/src-noconflict"})

→1行なので、3回クリック(トリプルクリック)するとすべてが選択されます。

(5). それをコピーしておきます。

(6). ブラウザで適当なサイトを開き、新規にブックマークを登録

(7). ブックマークを右クリック→「ブックマークを編集]

(8). URL の部分を消してから、Ctrl + V で、先ほどコピーした「ブックマークレット」を貼付け

(9). 「ブックマーク」をクリックすると、(実行を拒否されなければ)実行されます。

-

2). 「ブックマーク」をクリックして実行:

何も起きないので、ブラウザのコンソール画面(Ctrl+Shift+K)にて確認:

→こちらの、Firefox ブラウザでは、「Ace」の「ブックマークレット」の実行は「ブロック」されました。

ブラウザの設定によっては、動く環境の人がいるかもしれません。

-

3). 参考: サイト脆弱性について:

XSSクロスサイトスクリプティング )とは:

-

ある HTML に悪質なスクリプトを埋め込む攻撃です。 サイトに設置された入力フォームにユーザが情報を入力・送信する際に、埋められた悪質なHTML スクリプトが実行され、入力された情報に加え Cookie 情報なども攻撃者に送られたする、個人情報の流出とか、マルウェア感染などの被害に遭う恐れがあります。HTML に埋め込む形式の JavaScript が利用されます。

-

CSP(Content Security Policy)は、ブラウザ上でのコンテンツ読み込みを制限して、XSSクロスサイトスクリプティング攻撃)等のリスクを軽減する仕組みです。

XSS の攻撃を軽減するだけでなく、クリックジャッキング など他の形式の攻撃も軽減できるようになっています。

-

4). 参考: 作成されたスクリプトを見やすいように整形:

実際には、こちらの作業は要りません。

-

JavaScript / CSS 整形 」ツールを使用:

→貼り付けて、「整形」ボタンを押すだけ。下側に結果が表示されました:

javascript: (function inject(options, callback) {
  var load = function(path, callback) {
    var head = document.getElementsByTagName('head')[0];
    var s = document.createElement('script');
    s.src = options.baseUrl + "/" + path;
    head.appendChild(s);
    s.onload = s.onreadystatechange = function(_, isAbort) {
      if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
        s = s.onload = s.onreadystatechange = null;
        if (!isAbort) callback();
      }
    };
  };
  var pending = [];
  var transform = function(el) {
    pending.push(el)
  };
  load("ace.js", function() {
    ace.config.loadModule("ace/ext/textarea", function(m) {
      transform = function(el) {
        if (!el.ace) el.ace = m.transformTextarea(el, options.ace);
      };
      pending = pending.forEach(transform);
      callback && setTimeout(callback);
    });
  });
  if (options.target) return transform(options.target);
  window.addEventListener("click", function(e) {
    if (e.detail == 3 && e.target.localName == "textarea") transform(e.target);
  });
})({
  "selectionStyle": "line",
  "highlightActiveLine": true,
  "highlightSelectedWord": true,
  "readOnly": false,
  "copyWithEmptySelection": false,
  "cursorStyle": "ace",
  "mergeUndoDeltas": true,
  "behavioursEnabled": true,
  "wrapBehavioursEnabled": true,
  "enableAutoIndent": true,
  "keyboardHandler": null,
  "showLineNumbers": true,
  "customScrollbar": false,
  "hScrollBarAlwaysVisible": false,
  "vScrollBarAlwaysVisible": false,
  "highlightGutterLine": true,
  "animatedScroll": false,
  "showInvisibles": false,
  "showPrintMargin": false,
  "printMarginColumn": 80,
  "printMargin": false,
  "fadeFoldWidgets": false,
  "showFoldWidgets": true,
  "displayIndentGuides": true,
  "highlightIndentGuides": true,
  "showGutter": false,
  "fontSize": "14px",
  "scrollPastEnd": 0,
  "theme": "monokai",
  "maxPixelHeight": 0,
  "useTextareaForIME": true,
  "scrollSpeed": 2,
  "dragDelay": 0,
  "dragEnabled": true,
  "focusTimeout": 0,
  "tooltipFollowsMouse": true,
  "firstLineNumber": 1,
  "overwrite": false,
  "newLineMode": "auto",
  "useWorker": true,
  "useSoftTabs": true,
  "navigateWithinSoftTabs": false,
  "tabSize": 4,
  "wrap": "off",
  "indentedSoftWrap": true,
  "foldStyle": "markbegin",
  "mode": "html",
  "enableMultiselect": true,
  "enableBlockSelect": true,
  "baseUrl": "https://ajaxorg.github.io/ace-builds/src-noconflict" ←(注目)
})

→(注目)部分がチェックに引っかかったようです。ローカルを指定しても同じでした。

-

5). 便利だけどリスクが高いので、「Ace」の「ブックマークレット」の使用は断念:

ガードを下げれば実行できそうだけど、 悪意を持って、URL の文字列を少しだけ変えただけだと、ベタの「ブックマークレット」だと見逃すと思います。 設定は触らない方が安全です。

「Ace」は、「ブックマークレット」として動かすのでなく、html として動かす方が良さそう。

-

-


まとめ

Web ブラウザで使う「Ace」コードエディタを使ってみました。

それに伴い、「JavaScript」や「ブックマーケット」についても基本の部分を学びました。

-

Linux をコンテナで実行する機能のない、昔の世代の Chromebook を持っているのなら、ChromeOS の延命に使えそうです。

ただし、(手持ちのマシンは、ChromeOS を消して、Linux マシンにしてしまったので、)ChromeOS で「Ace」が使えるかは未確認。ローカルのストレージで起動できるかと、セキュリティ面のガードが堅いのでどうかな。 結局は、Linux マシン化しないと使えないかも。

-

それと、「JavaScript」の使用は便利な反面、セキュリティでのリスクが高いので、注意が必要です。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

GitHub を「GitHub CLI」で操作してみる〈H163-3〉

登録日: 2023-01-25 更新日: 2023-01-25

GitHub のブラウザ画面において、緑色の「Code」ボタンで「GitHub CLI」を選ぶと、そのクローンを実行する「gh コマンド」の貼付けが表示されるようになりました。

-

GitHub の操作は、今までであれば、端末画面で「git」コマンドを使い、その後、ブラウザで操作していました。 「GitHub CLI」は、ブラウザの操作をしなくても、端末の「gh」コマンドで GitHub の操作が出来るツールです。

-

端末メインで使っている開発者であれば、途切れなく端末で操作出来るので、便利だろうと思います。

一般の人でも便利に使えるのか、自身のリポジトリで確認してみました。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. 「GitHub」のアカウントを作成:

  2. 「リポジトリ」を作成:

  3. 「git」コマンドのインストール:

  4. 「gh」コマンドのインストール:

  5. 「gh」コマンドの補完の設定:

  6. 「gh auth login」でログイン(認証):

  7. 「デフォルトのリモート リポジトリ」を設定:

  8. 「gh」コマンドを実際に使ってみる:

-

参考:

  1. 「gh」コマンドのヘルプ、および、補完時の表示:

  2. 「GitHub CLI」の使用例 (Usage examples):

  3. 「gh」コマンドの設定ファイル:

  4. 「gh」の環境変数:

  5. 「GitHub」関連のリンク:

「まとめ へ」

-

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS での操作:

-

「端末」で、「GitHub CLI」のコマンドを使用:

→見やすいように色分けして表示されます。

-

ちなみに、Xubuntu のデフォルトの「端末」アプリは「xfce4-terminal」です。

「端末」アプリの設定により、見映えは変わると思います。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

GitHub CLI」について:

-

公式サイト:

GitHub CLI

-

「gh」は、コマンド ラインの「GitHub」です。
ブラウザでなく、端末に表示されるので、開発環境で使いやすいツールです。

-

GitHub CLI は、「GitHub.com」および「GitHub Enterprise Server 2.20」以降でホストされている「リポジトリ」で利用でき、MacOSWindows、および Linux にインストールできます。

-

最新の安定版:

GitHub CLI 2.21.2 Latest

GitHub の本家を覗くと、「ブランチ」や「タグ」の使い方が特徴的です。 「branch」でなく「trunk」という使い方なので、色々な開発環境の人たちが集まっているようです。

ちなみに、「GitHub」は 2018年に「Microsoft」に吸収されました。その影響もありそう。

-


1). 「GitHub CLI」=「gh コマンド」+ α :

  • GitHub が公式で公開しているツールで、無償で提供されています。

  • ブラウザで行っていた「GitHub の操作」を「端末」から「gh」コマンドで実行できます。

  • コマンドで完結できるので、スクリプトによる自動化ができます。

  • 内部でのエイリアスができるので、操作性のアップやスクリプト化がやりやすそう。

  • GitHub CLI 2.0」から拡張機能がサポートされ、「カスタムコマンド」が作成できます。

 → 項番 6). 「コミュニティ拡張機能」で共有:

-


2). 「GitHub CLI」で主にできること:

  • リポジトリ」の表示、作成、クローン、フォーク
  • 「Issue」と「 プルリクエスト」の作成、クローズ、編集、一覧表示
  • 「プルリクエスト」のレビュー、diff、マージ
  • GitHub Actions」のワークフローの実行、表示、一覧表示
  • 「リリース」の作成、一覧表示、表示、削除
  • GitHub Gists」の作成、編集、一覧表示、表示、削除
  • GitHub Codespaces」の一覧表示、作成、削除、接続

-

GitHub Codespaces」とは 、GitHub 社内で運用されていたクラウド開発環境です:

仮想マシン上で実行されている Docker コンテナー内の GitHub によってホストされているので、
設定なしで、どの端末でも使えるのが利点。

→個人用アカウント: 「ストレージ」15 GB/月、「コア使用量」120 時間まで、無料で提供されています。感謝。

-


3). 不安材料:

今まではブラウザの画面で確認できましたが、 端末画面だと確認漏れが出ないか、ちょっと心配。それと日本語化されていないこと。

→追記: 必要であれば、コマンドに「-w」をつけることで「ブラウザ」を起動して確認できました。

-


4). 操作ガイド:

GitHub CLI マニュアル:

-


5). 利用可能なコマンド(Available commands

オンラインドキュメント(英文)へのリンクを紹介:

-

Core commands(主な コマンド)

-

GitHub Actions commands(GitHub Actions のコマンド)

-

Additional commands(追加のコマンド)

-


6). コミュニティ拡張機能(Community extensions)

GitHub CLI 拡張機能は、「コミュニティが管理するリポジトリ 」です。
コミュニティが作成した「カスタムコマンド」が公開されています。

-

ローカルにインストールすると、「gh」コマンドに機能が追加できます:

「カスタムコマンド」によっては、「GitHub」の操作だけでなく、別の用途にも利用できます。

-

参考:

「GitHub CLI 2.0」が公開 ~カスタムコマンドで機能を自由に拡張

-


7). 使うときのヒント:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

1. GitHub のアカウントを作成:

-

すでに、GitHub のアカウントを持っているのなら、作業は要りません。

-

こちらの投稿 」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

2. 自身の GitHub の「リポジトリ」を作成:

-

上記の作業の続きです。作らなくても、フォークしたときに自動で作られます。

今回は、GitHub の操作の確認用にひとつ作りました。

-

こちらの投稿 」を参照:

-

後で非公開にする場合は、「こちら 」を参照:

-

「gh」コマンドで作成しても良いかも。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

3. 「git」コマンドのインストール:

-

クローンを作成するPC で作業します。

-

こちらの投稿 」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

4. 「gh」コマンドのインストール:

-

参考:

cli/README.md

Installing gh on Linux and BSD

-


1). 「Debian」や「Ubuntu」の場合:

-

(1). 「curl」のインストール:
$ sudo apt install curl
:
以下のパッケージが新たにインストールされます:
  curl

-

(2). キーとリポジトリの登録:
$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null

→長いですが、すべてで 1行のコマンドです。貼り付け時に警告が表示されたら、「貼付け」をクリック

注: GPG 署名キーの変更がありました。以前に「githubcli-archive-keyring.gpg」ファイルをダウンロードしていても、再度ダウンロードが必要です。

キー サーバーを使用してキーをダウンロードしている場合、新しいキーの ID は「23F3D4EA75716059」です。

-

(3). リポジトリの更新:
$  sudo apt update
:
取得:1 https://cli.github.com/packages stable InRelease [3,917 B]    ←(追加)
取得:2 https://cli.github.com/packages stable/main amd64 Packages [345 B] ←(追加)
ヒット:3 http://jp.archive.ubuntu.com/ubuntu jammy InRelease              
ヒット:4 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease      
ヒット:5 http://security.ubuntu.com/ubuntu jammy-security InRelease
ヒット:6 http://jp.archive.ubuntu.com/ubuntu jammy-backports InRelease
:
パッケージはすべて最新です。

-

(4). 「gh」のインストール:
$  sudo apt install gh
:
以下のパッケージが新たにインストールされます:
  gh

-

バージョンの確認:

$ gh --version
gh version 2.21.2 (2023-01-03)
https://github.com/cli/cli/releases/tag/v2.21.2

-

(5). 「gh」のアップグレード:
$ sudo apt update
$ sudo apt install gh

-


2). 「Arch Linux」系の場合:

公式の community リポジトリからインストールできます:

-

インストール:
$ sudo pacman -S github-cli

-


3). 「Fedora」、「CentOS」、「RHEL」の場合:

-

(1). インストール:
$ sudo dnf install 'dnf-command(config-manager)'
$ sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
$ sudo dnf install gh

-

(2). アップグレード:
$ sudo dnf update gh

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

5. 「gh」コマンドを補完できるように機能を有効化:

-

「gh」コマンドは長いので、「gh」コマンドの補完機能を有効化しました。

-

コマンド文字の途中で Tab キーを押すと、「コマンド」文字を補完します。

コマンドの後に半角スペースを押してから Tab キーを押すと、それに続く「サブコマンド」の候補が表示されます。

-


1).「bash-completion」のインストール:

$ sudo apt install bash-completion
:
bash-completion はすでに最新バージョン (1:2.11-5ubuntu1) です。

→「gh」コマンドのインストールで入るみたい。

-


2). 使っている「シェル」の確認:

$ printenv | grep SHELL
SHELL=/bin/bash

もしくは、

$ echo $SHELL
/bin/bash

-


3). 設定ファイルに追記:

-

(1). 「bash」を使っている場合:
$ mousepad ~/.bashrc

-

↓ ファイルの最後に、以下の行を追記:

eval "$(gh completion -s bash)"

-

(2). 「zsh」を使っている場合:
$ mousepad ~/.zshrc

-

↓ ファイルの最後に、以下の行を追記:

eval "$(gh completion -s zsh)"

-

(3). 「fish」を使っている場合:
$ mousepad ~/.config/fish/config.fish

-

↓ ファイルの最後に、以下の行を追記:

eval (gh completion -s fish| source)

-


4). 再起動:

$ reboot

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

6. 「gh」コマンドのヘルプ、および、補完時の表示:

-


1). 「gh --help」、「gh」の表示:

$ gh --help

または、

$ gh
Work seamlessly with GitHub from the command line.

USAGE
  gh <command> <subcommand> [flags]

CORE COMMANDS
  auth:        Authenticate gh and git with GitHub
  browse:      Open the repository in the browser
  codespace:   Connect to and manage codespaces
  gist:        Manage gists
  issue:       Manage issues
  pr:          Manage pull requests
  release:     Manage releases
  repo:        Manage repositories

GITHUB ACTIONS COMMANDS
  run:         View details about workflow runs
  workflow:    View details about GitHub Actions workflows

ADDITIONAL COMMANDS
  alias:       Create command shortcuts
  api:         Make an authenticated GitHub API request
  completion:  Generate shell completion scripts
  config:      Manage configuration for gh
  extension:   Manage gh extensions
  gpg-key:     Manage GPG keys
  label:       Manage labels
  search:      Search for repositories, issues, and pull requests
  secret:      Manage GitHub secrets
  ssh-key:     Manage SSH keys
  status:      Print information about relevant issues, pull requests,
                and notifications across repositories

HELP TOPICS
  actions:     Learn about working with GitHub Actions
  environment: Environment variables that can be used with gh
  exit-codes:  Exit codes used by gh
  formatting:  Formatting options for JSON data exported from gh
  mintty:      Information about using gh with MinTTY
  reference:   A comprehensive reference of all gh commands

FLAGS
  --help      Show help for command
  --version   Show gh version

EXAMPLES
  $ gh issue create
  $ gh repo clone cli/cli
  $ gh pr checkout 321

LEARN MORE
  Use 'gh <command> <subcommand> --help' for more information about a command.
  Read the manual at https://cli.github.com/manual

-

「gh --help」、「gh」の表示(和訳):
$ gh --help
コマンド操作で GitHub を継ぎ間なくスムーズに操作できます。

使い方:
  gh <コマンド> <サブコマンド> [フラグ]

主なコマンド:
  auth:        GitHub で gh と git を認証
  browse:      ブラウザでリポジトリを開く
  codespace:   codespace への接続と管理
  gist:        Github Gist(断片)を管理
  issue:       issues (問題)を管理
  pr:          プルリクエストを管理
  release:     リリースを管理
  repo:        リポジトリを管理

GitHub Actions に関するコマンド:
  run:         GitHub Actions のワークフローの実行に関する詳細を表示
  workflow:    GitHub Actions のワークフローの詳細を表示

追加のコマンド:
  alias:       コマンド ショートカットを作成
  api:         認証済みの GitHub API リクエストを作成
  completion:  シェル補完スクリプトを生成
  config:      gh の構成を管理
  extension:   gh 拡張機能の管理
  gpg-key:     GPG キーの管理
  label:       ラベルを管理
  search:      リポジトリ、issue、およびプルリクエストを検索
  secret:      GitHub シークレットを管理
  ssh-key:     SSH キーの管理
  status:      関連する issue、プルリクエスト、および
                 リポジトリ全体の通知に関する情報を表示

ヘルプ関連:
  actions:     GitHub Actions の操作について学ぶ
  environment: gh で使用できる環境変数
  exit-codes:  gh が使用する終了コード
  formatting:  gh からエクスポートされた JSON データの書式設定オプション
  mintty:      MinTTY での gh の使用に関する情報
  reference:   すべての gh コマンドの総合的なリファレンス

フラグ:
  --help      gh コマンドのヘルプを表示
  --version   gh のバージョンを表示

操作例:
  $ gh issue create
  $ gh repo clone cli/cli
  $ gh pr checkout 321

詳細について:
  コマンドの詳細は、「gh <コマンド> <サブコマンド> --help」を使います。
  マニュアルは、「https://cli.github.com/manual」を参照。

-


2). 「gh」で補完時の表示:

日本語のコメントは追記しました:

$ gh 「半角スペース」「Tab」「Tab」
alias       (Create command shortcuts)                  コマンド ショートカットを作成
api         (Make an authenticated GitHub API request)  認証済みの GitHub API リクエストを作成
auth        (Authenticate gh and git with GitHub)       GitHub で gh と git を認証
browse      (Open the repository in the browser)        ブラウザでリポジトリを開く
codespace   (Connect to and manage codespaces)          codespace への接続と管理
completion  (Generate shell completion scripts)         シェル補完スクリプトを生成
config      (Manage configuration for gh)               gh の設定を管理
extension   (Manage gh extensions)                      gh 拡張機能の管理
gist        (Manage gists)                              gist を管理
gpg-key     (Manage GPG keys)                           GPG キーの管理
help        (Help about any command)                    コマンドに関するヘルプ
issue       (Manage issues)                             issues (問題)を管理
label       (Manage labels)                             ラベルを管理
pr          (Manage pull requests)                      プルリクエストを管理
release     (Manage releases)                           リリースを管理
repo        (Manage repositories)                       リポジトリを管理
run         (View details about workflow runs)          GitHub Actions のワークフローの実行に関する詳細を表示
search      (Search for repositories, issues, and pull requests) 
                                                        リポジトリ、issue、およびプルリクエストを検索
secret      (Manage GitHub secrets)                     「GitHub シークレット」を管理
ssh-key     (Manage SSH keys)                           SSH キーの管理
status      (Print information about relevant issues, pull requests, and …)
                                                        issues、プルリクエストなどの情報を表示
workflow    (View details about GitHub Actions workflows) 
                                                        GitHub Actions のワークフローの詳細を表示

→右端が欠けていたら、右にスクロールしてください。

「gh --help」において、「主なコマンド」+「GitHub の動作に関するコマンド」+「追加のコマンド」が表示。

-


3). 「gh status --help」の表示(和訳):

$ gh status --help

または、

$ gh help status
status コマンドは、読んでいるすべてのリポジトリでの GitHub での作業に関する情報を表示します:

- 割り当てられた「issues」 
- 割り当てられた「プルリクエスト」
- 「プルリクエスト」のレビュー
- メンション
- リポジトリ アクティビティ (新しい issues/プルリクエスト、コメント)

使い方:
  gh status [フラグ]

フラグ:
  -e --exclude strings   所有者/名前形式で除外するリポジトリのカンマ区切りリスト
  -o --org string        組織内の報告状況

継承されたフラグ:
  --help   コマンドのヘルプを表示

使用例:
  $ gh status -e cli/cli -e cli/go-gh # 複数のリポジトリを除外します
  $ gh status -o cli            # 結果を 1つの組織に限定します

詳しくは:
  コマンドの詳細については、「gh <command> <subcommand> --help」を使用してください
  「https://cli.github.com/manual」のマニュアルを確認

→右端が欠けていたら、右にスクロールしてください。

-


4). 「gh repo --help」の表示(和訳):

$ gh repo --help

または、

$ gh help repo
GitHub リポジトリを操作します。

使い方:
  gh repo <コマンド> [フラグ]

主なコマンド:
  create:      新しいリポジトリを作成
  list:        ユーザまたは組織が所有するリポジトリを一覧表示

対象となるコマンド:
  archive:     Archive a repository                 リポジトリをアーカイブ
  clone:       Clone a repository locally           リポジトリをローカルにクローン
  delete:      Delete a repository                  リポジトリを削除
  deploy-key:  Manage deploy keys in a repository   リポジトリでデプロイ キーを管理
  edit:        Edit repository settings             リポジトリ設定の編集
  fork:        Create a fork of a repository        リポジトリのフォークを作成
  rename:      Rename a repository                  リポジトリの名前を変更
  set-default: Configure default repository for this directory
                                                    このディレクトリのデフォルト リポジトリを設定
  sync:        Sync a repository                    リポジトリを同期します
  view:        View a repository                    リポジトリを表示

継承されたフラグ:
  --help   コマンドのヘルプを表示

引数:
  リポジトリは、次のいずれかの形式で引数として指定できます:
  - 「OWNER/REPO」 
  - URL として「https://github.com/OWNER/REPO」 

使用例:
  $ gh repo create
  $ gh repo clone cli/cli
  $ gh repo view --web

詳しくは:
  コマンドの詳細については、「gh <command> <subcommand> --help」を使用してください
  「https://cli.github.com/manual」のマニュアルを確認

→右端が欠けていたら、右にスクロールしてください。

-


5). 「gh repo」で補完時の表示:

日本語のコメントは追記しました:

$ gh repo 「半角スペース」「Tab」「Tab」
archive      (Archive a repository)                リポジトリをアーカイブ
clone        (Clone a repository locally)          リポジトリをローカルにクローン
create       (Create a new repository)             新しいリポジトリを作成
delete       (Delete a repository)                 リポジトリを削除
deploy-key   (Manage deploy keys in a repository)  リポジトリでデプロイ キーを管理
edit         (Edit repository settings)            リポジトリ設定の編集
fork         (Create a fork of a repository)       リポジトリのフォークを作成
list         (List repositories owned by user or organization) 
                                                   ユーザまたは組織が所有するリポジトリを一覧表示
rename       (Rename a repository)                 リポジトリの名前を変更
set-default  (Configure default repository for this directory)
                                                   このディレクトリのデフォルト リポジトリを設定
sync         (Sync a repository)                   リポジトリを同期します
view         (View a repository)                   リポジトリを表示

→右端が欠けていたら、右にスクロールしてください。

「gh repo --help」において、「主なコマンド」+「対象となるコマンド」が表示。

-


6). 「gh repo set-default」のヘルプ表示(和訳):

$ gh repo set-default --help
このコマンドは、クエリを実行するときに使用するデフォルトのリモート リポジトリを設定します。
ローカルに複製されたリポジトリの GitHub API。

gh は、次のようなものにデフォルトのリポジトリを使用します。

  - プルリクエストの表示と作成
  - issues の表示と作成
  - リリースの表示と作成
  - アクションの操作
  - リポジトリと環境のシークレットを追加

使い方:
   gh repo set-default [<リポジトリ>] [フラグ]

フラグ:
   -u, --unset 現在のデフォルト リポジトリの設定を解除します
   -v, --view 現在のデフォルトのリポジトリを表示します

継承されたフラグ:
   --help コマンドのヘルプを表示

例:

   デフォルトのリポジトリを対話式に選択:
   $ gh repo set-default
  
   リポジトリを明示的に設定(所有者/リポジトリ):
   $ gh repo set-default owner/repo
  
   現在のデフォルト リポジトリを表示:
   $ gh repo set-default --view
  
   対話式に、さらに多くのリポジトリ オプションを表示:
   $ git remote add newrepo https://github.com/owner/repo
   $ gh repo set-default

詳しくは:
  コマンドの詳細については、「gh <command> <subcommand> --help」を使用してください
  「https://cli.github.com/manual」のマニュアルを確認

-


7). 「gh s」で補完時の表示:

日本語のコメントは追記しました:

$ gh s「半角スペース」「Tab」「Tab」
search   (Search for repositories, issues, and pull requests)   リポジトリ、Issue、およびプルリクエストを検索
secret   (Manage GitHub secrets)                                GitHub シークレットを管理
ssh-key  (Manage SSH keys)                                      SSH キーを管理
status   (Print information about relevant issues, pull requests, and notifications across repositories) 
                               関連する issues、プルリクエスト、およびリポジトリ全体の通知に関する情報を表示

-

$ gh status
Assigned Issues                    │ Assigned Pull Requests             
Nothing here ^_^                   │ Nothing here ^_^                   
                                   │                                    
Review Requests                    │ Mentions                           
Nothing here ^_^                   │ Nothing here ^_^                   
                                   │                                    
Repository Activity
Nothing here ^_^

→ブラウザで表示されるボタンの表示です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

7. 「gh auth login」でログイン(認証):

-

ログインしないと「gh」コマンドは使えません。

-

ログインせずに、コマンドを使ってみると:

$ gh repo list 
:
To get started with GitHub CLI, please run:  gh auth login
Alternatively, populate the GH_TOKEN environment variable with a GitHub API authentication token.

和訳:

GitHub CLI の使用を開始するには、次を実行してください: gh auth login  
または、GH_TOKEN 環境変数に GitHub API 認証トークンを設定します。

→つまり、ログイン(認証)が必要です。スクリプトで実行するなら環境変数にセット。

-


1). 作業ディレクトリを準備:

$ mkdir -p ~/Git/
$ cd ~/Git/
$ ls -1
furuichi
worm

-

「furuichi」リポジトリを再度クローンするのに邪魔なので、名前を変更:

$ cd ~/Git/
$ mv furuichi/ furuichi-2023-01-15/
$ ls -1
furuichi-2023-01-15
worm

-


2). 「gh auth login」でログイン(認証):

日本語のコメントは実際は表示されません。

-

対話式にログインを行います:

$ gh auth login

-

対話 1:

? What account do you want to log into?  [Use arrows to move, type to filter]

どのアカウントにログインしますか? [矢印で移動、タイプしてフィルター]

> GitHub.com
  GitHub Enterprise Server

→矢印キーで「GitHub.com」を選択して、Enter

-

対話 2:

? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations?  [Use arrows to move, type to filter]

Git 操作に優先するプロトコルは何ですか?

> HTTPS
  SSH

→矢印キーで「HTTPS」を選択して、Enter

-

対話 3:

? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? (Y/n) 

GitHub 資格情報で Git を認証しますか?

→「y」Enter

-

対話 4:

? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes   ←自動で「Yes」に変換
? How would you like to authenticate GitHub CLI?  [Use arrows to move, type to filter]

GitHub CLI をどのように認証しますか?

  Login with a web browser (web ブラウザでログイン)
> Paste an authentication token (認証トークンを貼り付け)

→矢印キーで「Paste an authentication token」を選択して、Enter

-

対話 5:

? How would you like to authenticate GitHub CLI? Paste an authentication token
Tip: you can generate a Personal Access Token here https://github.com/settings/tokens
The minimum required scopes are 'repo', 'read:org', 'workflow'.

ヒントの表示: 「https://github.com/settings/tokens」の手順で「パーソナル アクセス トークン」は生成できます。
最低限必要なスコープは、「repo」、「read:org」、「workflow」です。

→「パーソナル アクセス トークン」は自動で生成してくれません。事前に作成しておきます。

-

対話 6:

? Paste your authentication token: 

上記に、作成した「認証トークン」を貼り付けます

→作成するとき「repo」、「read:org」、「workflow」の 3つのチェックが必要です。

「repo」のみチェックした「パーソナル アクセス トークン」を貼り付けると強制終了しました。

-


3). ブラウザで「https://github.com/settings/tokens」を開いて、再作成:

2023-01-15 22:14(使用期限があります)

名前: My gh-furuichi2(後で見て使用目的がわかる名前)

「repo」、「read:org」、「workflow」にチェック

→緑色の「Generate token」クリック

表示された「パーソナル アクセス トークン」をボタンでコピー

-


4). 「gh」で再度ログイン:

日本語のコメントは実際は表示されません。

-

$ cd ~/Git/
$ gh auth login

対話入力:

? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Paste an authentication token
Tip: you can generate a Personal Access Token here https://github.com/settings/tokens
The minimum required scopes are 'repo', 'read:org', 'workflow'.
? Paste your authentication token: 

→新しく作成した「パーソナル アクセス トークン」を貼り付け

- gh config set -h github.com git_protocol https***************************
✓ Configured git protocol
✓ Logged in as FuRuYa7

→ログインに成功

-

5). 認証されたか確認:

$ gh auth status 
github.com
  ✓ Logged in to github.com as FuRuYa7 (oauth_token)
  ✓ Git operations for github.com configured to use https protocol.
  ✓ Token: *******************

→指定の「https」で接続されています。認証は「トークン」の貼付け

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

8. 「デフォルトのリモート リポジトリ」を設定:

-

1). 「GitHub CLI」の 2.21.0 で、「gh repo set-default」コマンドが追加されました:

GitHub CLI 2.21.0 からの抜粋:

-

(1). 背景: 以前は「デフォルトのリモートリポジトリ」変更時、「.git/config」を修正していました:

「gh repo set-default」コマンドを使用して、「デフォルトのリモートリポジトリ」を選択したり、選択した値を表示したり、選択を完全に元に戻したりできます。「.git/config」ファイルに自動で反映されます。

-

(2). 「デフォルトのリモートリポジトリ」の選択がされるまで「gh」コマンドの実行はエラーします:

-

(3). 「gh」コマンドのレビューのほとんどが古いバージョンにつき、検索しても参考になりません

→「gh repo set-default」コマンドは存在しておらず、使われていません。

-

(4). ローカルにある「リポジトリ」のディレクトリごとに設定が必要なので、面倒です:

フォークの時ぐらい、自動で設定されても良さそう。

-


2). 「デフォルトのリモート リポジトリ」の設定がないと、使えない「gh」コマンド:

  • 「プルリクエスト」の表示と作成
  • 「issues」の表示と作成
  • 「リリース」の表示と作成
  • GitHub Actions」の操作
  • リポジトリ」と環境の「シークレット」を追加

-


3). 「gh repo set-default」コマンドにて、設定や解除ができます:

-

「gh repo set-default」のヘルプ表示:

和訳:

$ gh repo set-default --help
このコマンドは、クエリを実行するときに使用するデフォルトのリモート リポジトリを設定します。
ローカルに複製されたリポジトリの GitHub API。

gh は、次のようなものにデフォルトのリポジトリを使用します。

  - プルリクエストの表示と作成
  - issues の表示と作成
  - リリースの表示と作成
  - アクションの操作
  - リポジトリと環境のシークレットを追加

使い方:
   gh repo set-default [<リポジトリ>] [フラグ]

フラグ:
   -u, --unset 現在のデフォルト リポジトリの設定を解除します
   -v, --view 現在のデフォルトのリポジトリを表示します

継承されたフラグ:
   --help コマンドのヘルプを表示

例:

   デフォルトのリポジトリを対話的に選択:
   $ gh repo set-default
  
   リポジトリを明示的に設定(所有者/リポジトリ):
   $ gh repo set-default owner/repo
  
   現在のデフォルト リポジトリを表示:
   $ gh repo set-default --view
  
   対話的ピッカーでさらに多くのリポジトリ オプションを表示:
   $ git remote add newrepo https://github.com/owner/repo
   $ gh repo set-default

詳しくは:
  コマンドの詳細については、「gh <command> <subcommand> --help」を使用してください
  「https://cli.github.com/manual」のマニュアルを確認

-


4). 「gh repo set-default」コマンドの操作例:

-

(1). ローカルの「worm」リポジトリディレクトリで、「デフォルト リポジトリ」を表示:
$ cd ~/Git/worm/
$ gh repo set-default --view
no default repository has been set; use `gh repo set-default` to select one

和訳:

デフォルトのリポジトリが設定されていません。
「gh repo set-default」を使用して 1つを選択します

-

(2). ブラウザに「プルリクエストの表示」をしてみる:
$ gh pr view 3 --web
:
X No default remote repository has been set for this directory.
please run `gh repo set-default` to select a default remote repository.

和訳:

X このディレクトリには、デフォルトのリモート リポジトリが設定されていません。
`gh repo set-default` を実行して、デフォルトのリモート リポジトリを選択してください。

-

(3). デフォルトの「リモート リポジトリ」を設定:
$ cd ~/Git/worm/
$ gh repo set-default FuRuYa7/worm
:
✓ Set FuRuYa7/worm as the default repository for the current directory

→「所有者/リポジトリ」を指定

-

(4). 設定されたか確認:
$ cd ~/Git/worm/
$ gh repo set-default --view
:
FuRuYa7/worm

-

(5). 「gh pr view」が使えるか確認:
$ gh pr view 3 --web
:
GraphQL: Could not resolve to a PullRequest with the number of 3. (repository.pullRequest)

→失敗しました。

-

$ gh pr view
:
no pull requests found for branch "develop"

→プルリクエストは発行済みで承認待ちですが、プルリクエストは無いという表示。

フォークして、プルリクエストしたときに、そのプルリクエストを確認するには、本家のリポジトリを「デフォルトのリモート リポジトリ」に指定しないとダメみたい。

-

(6). デフォルトの「リモート リポジトリ」を設定:

フォークしてのプルリクエストの場合は、本家のリポジトリを指定しないとダメでした。

$ cd ~/Git/worm/
$ gh repo set-default EndeavourOS-Community-Editions/worm
:
✓ Set EndeavourOS-Community-Editions/worm as the default repository for the current directory

-

(7). 設定されたか確認:
$ gh repo set-default --view
:
EndeavourOS-Community-Editions/worm

-

(8). 使えるか確認:
$ gh pr view
no pull requests found for branch "develop"

→「develop」ブランチにプルリクエストは無いという表示。「プルリクエスト番号」の指定が要るみたい。

-

(9). プルリクエストの「一覧」表示で、「プルリクエスト番号」を確認:
$ gh pr list
:
Showing 1 of 1 open pull request in EndeavourOS-Community-Editions/worm

#3  Change the color of the number of the selected "tag" to "orange"  FuRuYa7:develop  about 5 days ago

-

もしくは、

(10). プルリクエストの「ステータス」表示で、「プルリクエスト番号」を確認:
$ gh pr status
:
Relevant pull requests in EndeavourOS-Community-Editions/worm

Current branch             ←(自分のカレントブランチに関するプルリクエスト)
  There is no pull request associated with [develop]

Created by you             ←(自分が作成したプルリクエスト: open)
  #3  Change the color of the number of the selected ... [FuRuYa7:develop]

Requesting a code review from you     ←(レビュー依頼されているプルリクエスト)

  You have no pull requests to review

→こちらでも「プルリクエスト番号」は確認できました。

-

(11). 番号指定でプルリクエストを表示:
$ gh pr view 3
:
Change the color of the number of the selected "tag" to "orange" #3
Open • FuRuYa7 wants to merge 1 commit into master from develop • about 5 days ago
+3 -1 • No checks

  Changed the color of the selected number to make it easier to understand.

  Image of taskbar after change: 

  Image: worm-taskbar-color → https://user-images.githubusercontent.com/46095926/212521452-0c47bd17-f5cd-4cd8-889d-
  c005b842c46a.jpg

View this pull request on GitHub: https://github.com/EndeavourOS-Community-Editions/worm/pull/3

→表示されました。番号指定しないとダメでした。

-

(12). ブラウザで表示してみる:
$ gh pr view 3 --web
:
Opening github.com/EndeavourOS-Community-Editions/worm/pull/3 in your browser.

→ブラウザにて、新しいタブで表示されました。

-

(13). ブラウザでサインアウトしていても、表示されるか確認:
$ gh pr view 3 --web
:
Opening github.com/EndeavourOS-Community-Editions/worm/pull/3 in your browser.

→ブラウザの新しいタブで表示されました。サインアウトされた状態です。

-

(14). 別件、issue の「一覧」表示で、「issue 番号」を確認:
$ gh issue list
:
no open issues in EndeavourOS-Community-Editions/worm

→issues の発行はなし

-

(15). issue の「ステータス」表示で、「issue 番号」を確認:
$ gh issue status
:
Relevant issues in EndeavourOS-Community-Editions/worm

Issues assigned to you             ←(自分がアサインされた issue)
  There are no issues assigned to you

Issues mentioning you             ←(メンションされた issue)
  There are no issues mentioning you

Issues opened by you             ←(自分が作成した issue)
  There are no issues opened by you

→ issue の発行はなし

-

(16). 現在の「デフォルト リポジトリ」の設定を解除したい場合:
$ cd ~/Git/worm/
$ gh repo set-default --unset
:
✓ Unset FuRuYa7/worm as default repository

-

(17). 確認:
$ gh repo set-default -v
:
no default repository has been set; use `gh repo set-default` to select one

→設定なし

-

(18). 自身のリポジトリに設定:
$ cd ~/Git/worm/
$ gh repo set-default worm
:
expected the "[HOST/]OWNER/REPO" format, got "worm"

→エラー

「[HOST/]OWNER/REPO」形式を期待していましたが、「worm」を取得しました

「所有者名」は省略できないみたい。

-

(19). 「デフォルト リポジトリ」の設定のやり直し:
$ cd ~/Git/worm/
$ gh repo set-default FuRuYa7/worm
:
✓ Set FuRuYa7/worm as the default repository for the current directory

-

確認:

$ gh repo set-default -v
:
FuRuYa7/worm

-

→フォークした「本家のリポジトリ名」を知らないと、デフォルトの「リモート リポジトリ」を設定できません。

追記: 「gh repo set-default」でパラメータを指定しなければ、対話式に聞いてくるので知らなくても設定できました。「項番 7).」参照:

-


5). フォークした「本家のリポジトリ名」を確認できるかトライ:

-

(1). フォークで作成された自身のリポジトリで、プルリクエストのステータスを表示:
$ gh pr status
:
Relevant pull requests in FuRuYa7/worm

Current branch             ←(自分のカレントブランチに関するプルリクエスト)
  There is no pull request associated with [develop]

Created by you             ←(自分が作成したプルリクエスト: open)
  You have no open pull requests

Requesting a code review from you     ←(レビュー依頼されているプルリクエスト)
  You have no pull requests to review

→自身の「所有者名/リポジトリ名」がわかるだけですね。

-

(2). 別のコマンドで、調べることが出来るか確認:
$ cd ~/Git/worm/

$ git branch
* develop
  master

$ git status
ブランチ develop
nothing to commit, working tree clean
$ git remote -v
:
origin  https://github.com/FuRuYa7/worm.git (fetch)
origin  https://github.com/FuRuYa7/worm.git (push)

→「git」コマンドでも、自身の「所有者名/リポジトリ名」がわかるだけですね。

-

参考: ちなみに、リモートリポジトリとして、オリジナルのリポジトリを「upstream」という名前(任意)で設定できます:

$ git remote add upstream https://github.com/ORIGINAL_OWNER/REPO.git

上記の設定で、このリポジトリは「upstream」という名前(任意)で本家リポジトリを参照します:

$ git remote -v
:
origin  https://github.com/FuRuYa7/worm.git (fetch)
origin  https://github.com/FuRuYa7/worm.git (push)
upstream https://github.com/ORIGINAL_OWNER/REPO.git (fetch)
upstream https://github.com/ORIGINAL_OWNER/REPO.git (push)

フォークの URL は「origin」と表示、上流リポジトリの URL は「upstream」と表示されます。

-

(3). 自身のリポジトリの「ビュー」表示:
$ gh repo view worm
FuRuYa7/worm                 ←「所有者名/リポジトリ名」
Worm CE for EndeavourOS     ←(そのリポジトリに登録のプロフィールの内容)

   Eos Worm Edition          ←(README.md の内容)

  The community edition for EndeavourOS that ships the worm window manager.
  Copy the files from ~/.config to your home folder. 

View this repository on GitHub: https://github.com/FuRuYa7/worm  ←「所有者名/リポジトリ名」のURL

→自身のリポジトリの「所有者名/リポジトリ名」は確認できます。

単に README.md が表示されるだけなので、知りたい情報があるかは記述されている内容しだい。

-

(4). 別のリポジトリの「ビュー」表示でも確認:
$ gh repo view furuichi
FuRuYa7/furuichi             ←「所有者名/リポジトリ名」
Check how to use GitHub     ←(そのリポジトリに登録のプロフィールの内容)

  ## GitHub (Check how to use GitHub)  ←(README.md の内容)

  -------- 
省略

View this repository on GitHub: https://github.com/FuRuYa7/furuichi  ←「所有者名/リポジトリ名」のURL

→同じですね。

-


6). 「端末」だと、フォークした本家側の「所有者名/リポジトリ名」を確認できませんでした

(表示されていそうで、表示されない項目)

→本家側の「所有者名/リポジトリ名」がわからないと、デフォルトの「リモート リポジトリ」を設定できないので、依存したコマンドが使えません。

「ブラウザ」で自身のリポジトリを見て、「どのリポジトリからフォークしたか」は確認できます。

-


7). 「灯台もと暗し」でした。簡単にデフォルトの「リモート リポジトリ」を設定できました:

-

(1). 現在の状態を確認:
$ cd ~/Git/worm/
$ gh repo set-default -v
FuRuYa7/worm
$ git remote -v
origin  https://github.com/FuRuYa7/worm.git (fetch)
origin  https://github.com/FuRuYa7/worm.git (push)

-

(2). デフォルトの「リモート リポジトリ」を解除:
$ gh repo set-default -u
✓ Unset FuRuYa7/worm as default repository
$ gh repo set-default -v
no default repository has been set; use `gh repo set-default` to select one

→準備 OK

-

(3). デフォルトの「リモート リポジトリ」を設定:

作業フォルダを対象のリポジトリのフォルダに移動:

$ cd ~/Git/worm/

-

パラメータなしで、「gh repo set-default」コマンドを実行:

$ gh repo set-default
This command sets the default remote repository to use when querying the
GitHub API for the locally cloned repository.

gh uses the default repository for things like:

 - viewing and creating pull requests
 - viewing and creating issues
 - viewing and creating releases
 - working with Actions
 - adding repository and environment secrets

? Which repository should be the default?  [Use arrows to move, type to filter]
> EndeavourOS-Community-Editions/worm       ←(本家: フォーク元のリポジトリ)
  FuRuYa7/worm               ←(自身: フォーク先のリポジトリ)

→対話式に、どちらにするか、聞いてきました。調べておく必要はありませんでした。

→そのままEnter

? Which repository should be the default? EndeavourOS-Community-Editions/worm
✓ Set EndeavourOS-Community-Editions/worm as the default repository for the current directory

→本家のリポジトリが設定されました。

-

(4). 作業後の確認:
$ gh repo set-default -v
EndeavourOS-Community-Editions/worm

→本家のリポジトリが設定できました。

-

$ git remote -v
origin  https://github.com/FuRuYa7/worm.git (fetch)
origin  https://github.com/FuRuYa7/worm.git (push)

→こちらには登録されないみたい。

push すれば、自身のフォークのリポジトリにアップされ、「プルリクエスト」するかのボタンが表示されるはずです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

9. 参考: 「GitHub CLI」の使用例(Usage examples)を見てみる:

-

似たようなコマンドが多いので、条件の違いがわかりやすいように和訳して整理:

-

GitHub CLI の使用例(Usage examples

すぐ本番でなく、一度試してから使用のこと。リポジトリの操作にはリスクが伴うので自己責任です。

-

例1). プルリクエスト番号を使って、プルリクエストをローカルで「チェックアウト」:
$ cd ~/Projects/my-project/
$ gh pr checkout 12
:
remote: Enumerating objects: 66, done.
remote: Counting objects: 100% (66/66), done.
remote: Total 83 (delta 66), reused 66 (delta 66), pack-reused 17
Unpacking objects: 100% (83/83), done.
From https://github.com/owner/repo
 * [new ref]             refs/pull/8896/head -> patch-2
M       README.md
Switched to branch 'patch-2'

-

例2). URL とブランチ名を使って、プルリクエストをローカルで「チェックアウト」:
$ cd ~/Projects/my-project/
$ gh pr checkout branch-name
:
Switched to branch 'branch-name'
Your branch is up to date with 'origin/branch-name'.
Already up to date.

-

例3). OWNER/REPO 構文を使って、リポジトリを「クローン」:
$ cd ~/Projects/
$ gh repo clone cli/cli
:
Cloning into 'cli'...
$ cd ~/Projects/cli/

-

例4). GitHub URL を使って、リポジトリを「クローン」:
$ cd ~/Projects/my-project/
$ gh repo clone https://github.com/cli/cli
:
Cloning into 'cli'...
remote: Enumerating objects: 99, done.
remote: Counting objects: 100% (99/99), done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 21160 (delta 49), reused 35 (delta 18), pack-reused 21061
Receiving objects: 100% (21160/21160), 57.93 MiB | 10.82 MiB/s, done.
Resolving deltas: 100% (16051/16051), done.
$ cd ~/Projects/my-project/cli/

-

例5). 対話式に、「プルリクエスト」を作成:
$ cd ~/Projects/my-project/
$ gh pr create
:
Creating pull request for feature-branch into main in owner/repo
? Title My new pull request
? Body [(e) to launch nano, enter to skip]
http://github.com/owner/repo/pull/1

-

例6). 対話式に、「issue」を作成:
$ cd ~/Projects/my-project/
$ gh issue create
:
Creating issue in owner/repo
? Title My new issue
? Body [(e) to launch nano, enter to skip]
http://github.com/owner/repo/issues/1

-

例7). フラグを使って、「プルリクエスト」を作成:
$ cd ~/Projects/my-project/
$ gh pr create --title "Pull request title" --body "Pull request body"
http://github.com/owner/repo/pull/1

-

例8). フラグを使って、「issue」を作成:
$ cd ~/Projects/my-project/
$ gh issue create --title "Issue title" --body "Issue body"
:
http://github.com/owner/repo/issues/1

-

例9). web の「プルリクエストの作成ページ」に、すばやく移動:
$ cd ~/Projects/my-project/
$ gh pr create --web
:
Opening https://github.com/owner/repo/pull/branch in your browser.

-

例10). web の「issue の作成ページ」に、すばやく移動:
$ cd ~/Projects/my-project/
$ gh issue create --web
:
Opening https://github.com/owner/repo/issues/new in your browser.

-

例11). 引数なしで、現在のリポジトリの「フォーク」を作成:

引数なしの場合、プッシュする権限がないリポジトリにいる場合、このコマンドは自動的にフォークを作成します。

git リポジトリ内で、引数なしで、現在のディレクトリのアカウントの GitHub にフォークを自動的に作成します。

その後、上流のリモートを設定するかどうかを尋ねられます。

$ cd ~/Projects/cli/
$ gh repo fork
:
- Forking cli/cli...
✓ Created fork user/cli
? Would you like to add a remote for the fork? Yes
✓ Renamed origin remote to upstream
✓ Added remote origin
$ cd ~/Projects/cli/cli/

-

例12). 引数付きで、別のリポジトリのフォークを作成:

引数付きの場合、OWNER/REPO 形式でリポジトリを渡すと、gh はアカウントの GitHub にフォークを自動的に作成し、クローンを作成するかどうかを尋ねます。これは、git リポジトリの内外で機能します。

$ cd ~/Projects/
$ gh repo fork cli/cli
:
- Forking cli/cli...
✓ Created fork cli/cli
? Would you like to clone the fork? Yes
Cloning into 'cli'...
✓ Cloned fork
$ cd ~/Projects/cli/

-

例13). 引数なしの「フォーク」の作成にて、フラグを使って、リモート プロンプトをスキップします:

フラグを使って、フォーク用の git リモートの追加に関するプロンプト、またはフォークされたリポジトリのローカルでのクローン作成に関するプロンプトをスキップします。

$ cd ~/Projects/cli/
$ gh repo fork --remote=false
:
- Forking cli/cli...
✓ Created fork user/cli

-

例14). 引数付きの「フォーク」の作成にて、フラグを使って、リモート プロンプトをスキップします:
$ cd ~/Projects/
$ gh repo fork cli/cli --clone=false
:
- Forking cli/cli...
✓ Created fork user/cli
$ cd ~/Projects/cli/

-

例15). リポジトリ内のオープンされたプルリクエストの「一覧」を表示:

デフォルトで、最新の 30 個のオープン されたアイテムが表示されます。

$ cd ~/Projects/my-project/
$ gh pr list
:
Pull requests for owner/repo

#14  Upgrade to Prettier 1.19                           prettier
#14  Extend arrow navigation in lists for MacOS         arrow-nav
#13  Add Support for Windows Automatic Dark Mode        dark-mode
#8   Create and use keyboard shortcut react component   shortcut

-

例16). リポジトリ内のオープンされた issues の「一覧」を表示:

デフォルトで、最新の 30 個のアイテムが表示されます。

$ cd ~/Projects/my-project/
$ gh issue list
:
Issues for owner/repo

#14  Update the remote url if it changed  (bug)
#14  PR commands on a detached head       (enhancement)
#13  Support for GitHub Enterprise        (wontfix)
#8   Add an easier upgrade command        (bug)

-

例17). ユーザに割り当てられたクローズされたプルリクエストの「一覧」を表示:

フラグを使って、特定のユース ケースに合わせてリストをフィルタリングできます。

$ cd ~/Projects/my-project/
$ gh pr list --state closed --assignee user
:
Pull requests for owner/repo

#13  Upgrade to Electron 7         electron-7
#8   Release Notes Writing Guide   release-notes

-

例18). ユーザに割り当てられたクローズされた issues の「一覧」を表示:
$ cd ~/Projects/my-project/
$ gh issue list --state closed --assignee user
:
Issues for owner/repo

#13  Enable discarding submodule changes  (bug)
#8   Upgrade to latest react              (upgrade)

-

例19). 関連するプルリクエストの「ステータス」を表示:
$ cd ~/Projects/my-project/
$ gh pr status
:
Current branch
  #12 Remove the test feature [user:patch-2]
   - All checks failing - Review required

Created by you
  You have no open pull requests

Requesting a code review from you
  #13 Fix tests [branch]
  - 3/4 checks failing - Review required
  #15 New feature [branch]
   - Checks passing - Approved

-

例20). 関連する issue の「ステータス」を表示:
$ cd ~/Projects/my-project/
$ gh issue status
:
Issues assigned to you
  #8509 [Fork] Improve how Desktop handles forks  (epic:fork, meta)

Issues mentioning you
  #8938 [Fork] Add create fork flow entry point at commit warning  (epic:fork)
  #8509 [Fork] Improve how Desktop handles forks  (epic:fork, meta)

Issues opened by you
  #8936 [Fork] Hide PR number badges on branches that have an upstream PR  (epic:fork)
  #6386 Improve no editor detected state on conflicts modal  (enhancement)

-

例21). プルリクエスト番号を使って、端末に「プルリクエスト」を表示:
$ cd ~/Projects/my-project/
$ gh pr view 21
:
Pull request title
opened by user. 0 comments. (label)

  Pull request body

View this pull request on GitHub: https://github.com/owner/repo/pull/21

-

例22). issue 番号を使って、端末に「issue」を表示:
$ cd ~/Projects/my-project/
$ gh issue view 21
:
Issue title
opened by user. 0 comments. (label)

  Issue body

View this issue on GitHub: https://github.com/owner/repo/issues/21

-

例23). owner/repo 指定で、端末に「プルリクエスト」を表示:
$ cd ~/Projects/my-project/
$ gh repo view owner/repo
:
owner/repo
Repository description

  Repository README

View this repository on GitHub: https://github.com/owner/repo/

-

例24). プルリクエスト番号を使って、ブラウザで「プルリクエスト」を表示:

--web または -w を使用

$ cd ~/Projects/my-project/
$ gh pr view 21 --web
:
Opening https://github.com/owner/repo/pull/21 in your browser.

-

例25). issue 番号を使って、ブラウザで「issue」を表示:

--web または -w を使用

$ cd ~/Projects/my-project/
$ gh issue view 21 --web
:
Opening https://github.com/owner/repo/issues/21 in your browser.

-

例26). owner/repo 指定で、ブラウザで「リポジトリ」を表示:
$ cd ~/Projects/
$ gh repo view owner/repo --web
:
Opening https://github.com/owner/repo/ in your browser.

-

例27). 端末に、現在使用しているブランチの「プルリクエスト」を表示:
$ cd ~/Projects/my-project/
$ gh pr view
:
Pull request title
opened by user. 0 comments. (label)

  Pull request body

View this pull request on GitHub: https://github.com/owner/repo/pull/21

-

例28). 端末に、現在のリポジトリを表示:
$ cd ~/Projects/my-project/
$ gh repo view
:
owner/my-project
Repository description

  Repository README

View this repository on GitHub: https://github.com/owner/repo/

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

10. 「gh」コマンドを実際に使ってみる:

-

個人的には「GitHub」を使うことは、

GitHub」に置かれたソースを(クローンではなく)「ZIP でダウンロード」することや、

貢献できそうなときに、フォークして「プルリクエストを作成」することくらいです。

なので、コマンドを使える場面は少ないです:

-


1). 「GitHub」に置かれたソースをダウンロード(クローンで代用):

GitHub」の対象のサイトにて、画面にある緑色の「Code」ボタンをクリックして「GitHub CLI」を選ぶと、入力すべき「gh コマンド」が表示されます。

利点は、ファイルを展開する手間が減らせること。

-

(1). リポジトリを「クローン」:

参照: 例3). OWNER/REPO 構文を使って、リポジトリを「クローン」:

$ cd ~/Git/
$ gh repo clone cli/cli
:
Cloning into 'cli'...
$ ls -1
cli
furuichi
furuichi-2023-01-15
worm

-

(2). パラメータなしで、リポジトリを確認:
$ cd ~/Git/cli/
$ gh repo view
X No default remote repository has been set for this directory.

please run `gh repo set-default` to select a default remote repository.

→「所有者名/リポジトリ名」を省略した場合は、「デフォルトリポジトリ」の設定を見に行くみたい。

-

(3). 「所有者名/リポジトリ名」を指定して、リポジトリを確認:
$ gh repo view FuRuYa7/cli
:
FuRuYa7/cli
GitHub’s official command line tool

   GitHub CLI
                                                                                                                
   gh  is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal
  next to where you are already working with  git  and your code.                                               
                                                                                                                
  Image: screenshot of gh pr status → https://user-images.githubusercontent.com/98482/84171218-327e7a80-aa40-11ea-
  8cd1-5177fc2d0e72.png                                                                                         
                                                                                                                
  GitHub CLI is available for repositories hosted on GitHub.com and GitHub Enterprise Server 2.20+, and to      
  install on macOS, Windows, and Linux.                                                                         
                                                                                                                
  ## Documentation                                                                                              
                                                                                                                
  For installation options see below, for usage instructions see the manual https://cli.github.com/manual/.     
:
View this repository on GitHub: https://github.com/FuRuYa7/cli

→「リポジトリ名」を指定すれば、作業ディレクトリの位置に関係なく表示できました。

-

(4). 「リポジトリ名」だけで、リポジトリを確認:
$ gh repo view cli
:
FuRuYa7/cli
GitHub’s official command line tool

   GitHub CLI                                                                                                   
                                                                                                                
   gh  is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal
  next to where you are already working with  git  and your code.                                               
 :
View this repository on GitHub: https://github.com/FuRuYa7/cli

→フォークしているので、「所有者名」を省略しても表示できました。

-

(5). 「リポジトリ名」だけで、プルリクエストを確認:
$ cd ~/Git/
$ gh pr view cli
failed to run git: fatal: not a git repository (or any of the parent directories): .git

→このコマンドは、作業ディレクトリの移動が必要みたい。

-

(6). 作業ディレクトリを移動:
$ cd ~/Git/cli/

-

(7). 「リポジトリ名」だけで、プルリクエストを確認:
$ gh pr view cli
:
X No default remote repository has been set for this directory.

please run `gh repo set-default` to select a default remote repository.

-

(8). 「所有者名/リポジトリ名」を指定して、プルリクエストを確認:
$ gh pr view FuRuYa7/cli
:
X No default remote repository has been set for this directory.

please run `gh repo set-default` to select a default remote repository.

→このコマンドは、「デフォルトリポジトリ」の設定が必要みたい。

-

(9). 「デフォルトリポジトリ」を設定:
$ cd ~/Git/cli/

$ gh repo set-default FuRuYa7/cli
✓ Set FuRuYa7/cli as the default repository for the current directory

→本家(フォーク元)のリポジトリでなく、自身に作成されたフォークを指定してみました。

-

(10). 「デフォルトリポジトリ」が設定されたか確認:
$ gh repo set-default --view
:
FuRuYa7/cli

→「デフォルトリポジトリ」が設定されています。

-

(11). パラメータを付けずに、プルリクエストを表示:
$ gh pr view
no pull requests found for branch "trunk"

→「ブランチ名」が認識されています。

-

$ gh pr view cli
no pull requests found for branch "cli"

$ gh pr view FuRuYa7/cli
no pull requests found for branch "FuRuYa7/cli"

→コマンドの書式が違います。パラメータが「ブランチ名」の指定として受け取られています。

-

(12). 「issue」を表示:
$ gh issue view
:
accepts 1 arg(s), received 0

→「issue」が無いという表示かな。

-

(13). 別のフォルダに、作業ディレクトリを移動:
$ cd ~/Git/

$ gh repo set-default --view
:
must be run from inside a git repository

リポジトリのフォルダではない(.git がない)と怒られました。

-

$ gh repo list

Showing 30 of 31 repositories in @FuRuYa7

FuRuYa7/cli                           GitHub’s official command line tool               public, fork  1d
FuRuYa7/worm                          Worm CE for EndeavourOS                           public, fork  5d
FuRuYa7/furuichi                      Check how to use GitHub                           private       10d
:

→こちらはフォルダ位置に関係なく表示できます。git の初期設定の情報を見ているのかな。

-

(14). 別のリポジトリのフォルダに、作業ディレクトリを移動:
$ cd ~/Git/worm/

$ gh repo set-default --view
:
no default repository has been set; use `gh repo set-default` to select one

→今度は、「gh repo set-default」が設定されていないと怒られました。

-

(15). 各リポジトリディレクトリごとに、「gh repo set-default」で設定しておく必要があります。

-


2). 自身のリポジトリの「クローン」を作成する場合:

-

(1). リポジトリの一覧を確認:
$ gh repo list

Showing 30 of 31 repositories in @FuRuYa7

FuRuYa7/cli                           GitHub’s official command line tool               public, fork  1d
FuRuYa7/worm                          Worm CE for EndeavourOS                           public, fork  5d
FuRuYa7/furuichi                      Check how to use GitHub                           private       10d
:

→ほとんどに「public, fork」があることに注目 →つまり、「プルリクエスト」したリポジトリということ。

ほとんどが、消すことを知らなかった、以前に出した日本語化のプルリクエストの残骸です。 承認されたらフォークは削除しているので、最近のものは残っていません。

-

行の中央のコメント表示は、リポジトリの「プロフィール」に登録されている説明です。ここがないものは、GitHub 以外をメインにして管理されているか、マンパワーが足りない可能性が高いリポジトリだろうと思います。

「private」のみオレンジ色で表示

-

$ gh repo view
failed to run git: fatal: not a git repository (or any of the parent directories): .git

→「.git」のあるフォルダに移動しないとリポジトリの情報は見れないみたい。

-

(2). リポジトリを「クローン」:

参照: 例3). OWNER/REPO 構文を使って、リポジトリを「クローン」:

$ cd ~/Git/
$ gh repo clone FuRuYa7/furuichi
:
Cloning into 'furuichi'...
remote: Enumerating objects: 56, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 56 (delta 8), reused 3 (delta 0), pack-reused 26
Receiving objects: 100% (56/56), 13.08 KiB | 1.87 MiB/s, done.
Resolving deltas: 100% (12/12), done.

→「gh repo list」の一覧で表示された「リポジトリ名」でクローンできました。

-

$ ls -1
:
furuichi
furuichi-2023-01-15
worm

-

(3). クローンで作成されたディレクトリに移動:
$ cd ~/Git/furuichi

$ ls -1a
.
..
.git
README.md
git-test.md
markdown.nanorc

-

$ gh repo view
FuRuYa7/furuichi
Check how to use GitHub


  ## GitHub (Check how to use GitHub)                                                                 
                                                                                                      
  --------                                                                                            
                                                                                                      
  履歴:                                                                                               
                                                                                                      
  2018-12-24:  GitHub の使用開始                                                                      
                                                                                                      
  2023-01-10:  GitHub で「SSH」タブの表示が無くなったので、プルリクエストを再確認                     
                                                                                                      
  --------                                                                                            



View this repository on GitHub: https://github.com/FuRuYa7/furuichi

→ブラウザでリポジトリをのぞいたときと同じイメージで、 README ファイルが表示されました。

-

$ gh repo set-default --view
no default repository has been set; use `gh repo set-default` to select one

→デフォルトリポジトリは設定されてませんが、自身で作成したリポジトリは色々と表示できるみたい。

-


3). 他のリポジトリに「プルリクエスト」を行う場合:

普段の操作は、ブラウザで対象のリポジトリを開き、
「Fork」ボタンを押して、フォークされた自身のリポジトリを作成しています。

-

参照: 例12). 引数付きで、別のリポジトリのフォークを作成:

引数として「OWNER/REPO」形式でリポジトリを渡すと、「gh」はアカウントの GitHub にフォークを自動的に作成し、クローンを作成するかどうかを尋ねます。これは、git リポジトリの内外で機能します。

-

$ cd ~/Git/
$ gh repo fork cli/cli
✓ Created fork FuRuYa7/cli  ←「フォークされ、自身のリポジトリが自動作成」されました。
? Would you like to clone the fork? (Y/n)  Yes  ←「y」で「Yes」に自動変換。

Cloning into 'cli'...
remote: Enumerating objects: 43694, done.
remote: Counting objects: 100% (344/344), done.
remote: Compressing objects: 100% (206/206), done.
remote: Total 43694 (delta 188), reused 267 (delta 137), pack-reused 43350
Receiving objects: 100% (43694/43694), 26.58 MiB | 6.52 MiB/s, done.
Resolving deltas: 100% (29508/29508), done.
✓ Cloned fork

-

確認:

$ ls -1 ~/Git/
:
cli              ←(新規作成)
furuichi
furuichi-2023-01-15
worm

-

作成されたディレクトリに移動:

$ cd ~/Git/cli/
$ ls -a
.               .github          LICENSE    cmd      go.sum    utils
..              .gitignore       Makefile   context  internal
.devcontainer   .golangci.yml    README.md  docs     pkg
.git            .goreleaser.yml  api        git      script
.gitattributes  CODEOWNERS       build      go.mod   test

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ---

11.「GitHub CLI」を使ってみて:

-

1). やっぱり英語。日本語化される可能性は低そう

-

ソースを見るため、「GitHub CLI」の GitHub を覗いてみました。

GitHub CLI」は、GitHub 社内の開発環境を良くするためのツール(hub コマンドの後継?)として開発されたと思われます。

そのツールが使われる環境は、色々な国の人たちがいるけど共通語は英語。なので「英語」の表示で十分です。

→次元が違うみたい。日本語化でなく、自分の方が国際化(英語を使えるように)しないとダメかなと思ってしまいました。

-

開発の言語が「go」言語なのも、日本語化されないと思える要因:

cli/cmd/gh/main.go

→ソースの国際化対応はされてません。

-

国際化がルール化されている「C」言語であれば、国際化対応のコードである可能性が高かったのですが、

「go」言語だと、国際化はルール化されてません。なので、選んだ組み込む翻訳モジュールにより翻訳すべき部分の記述や、翻訳ファイルの配置のルールが異なります。

国際化が意識されていないと、英語のままのコードになります。

-

2). 「GitHub CLI」は、「GitHub」の操作法のひとつ。端末メインなので、プロ向けです:

→(自分も含め)コマンドの理解が足りなかったり、英語が使えないときは「ブラウザ」を使うという、別の操作法があります。なので、わざわざ「GitHub CLI」のコマンドを翻訳する必要はありません。

-

3). プロ向けなので、git コマンドを理解していることが前提。

-

4). ですが、端末画面で「ブラウザでの操作」が出来るように工夫されています:

画面は要点が色分けされていて見やすく、矢印キーとEnter で簡易的なGUI 操作ができるので、操作性は良いです。

入力の質問にヒント(Tips:)が一緒に表示され、迷わないようによく考えて作られています。

使い方がわかれば、使いやすそう。

-

5). 「GitHub CLI」だけを使って「プルリクエスト」出来るか確認:

「Git」コマンドと一緒に使います。ただし、今までのブラウザ操作をコマンドで出来るだけでなく、
今までの「git」コマンドよりも、楽に入力できたりします:

-

例えば、クローンする場合:

-

(1). 自身のGitHubリポジトリ名の一覧を確認:

$ gh repo list

-

(2). 確認したリポジトリ名でクローン:

$ gh repo clone FuRuYa7/furuichi

HTTPS を使うか、などの質問が表示されます。

別に一覧からでなく、実際のサイトを表示して、緑色の「Code」ボタンで、「GitHub CLI」を選べば、 こちらのコマンドがそのまま表示されています。

他人のリポジトリをクローンする場合も悩む必要はありません。

-

(3). ちなみに、今まで使っていた git と同じ書式の URL の指定でもクローンできます:

$ gh repo clone https://github.com/FuRuYa7/furuichi.git

→たぶん、こちらを使うと、HTTPS を使う質問はスキップされると思うけど未確認。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----

12. 参考:「gh」コマンドの設定ファイル:

-

手動で設定することはありません。参考です。

-

その1:

$ cat ~/.config/gh/config.yml
# What protocol to use when performing git operations. Supported values: ssh, https
git_protocol: https
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
editor:
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
prompt: enabled
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
pager:
# Aliases allow you to create nicknames for gh commands
aliases:
    co: pr checkout
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
http_unix_socket:
# What web browser gh should use when opening URLs. If blank, will refer to environment.
browser:

-

その2:

$ cat ~/.config/gh/hosts.yml
    oauth_token: ********************************
    user: FuRuYa7
    git_protocol: https

-

その3:

$ cat ~/.local/state/gh/state.yml
checked_for_update_at: 2023-01-15T19:02:45.827341312+09:00
latest_release:
    version: v2.21.2
    url: https://github.com/cli/cli/releases/tag/v2.21.2
    publishedat: 2023-01-03T22:54:10Z

-

その4:

リポジトリディレクトリごとに設定があります:

$ cd ~/Git/worm/
$ cat .git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = https://github.com/FuRuYa7/worm.git   ←「gh repo set-default」で設定
    fetch = +refs/heads/*:refs/remotes/origin/*
    gh-resolved = base
[branch "master"]
    remote = origin
    merge = refs/heads/master

-

現在の状態:

$ cd ~/Git/worm/

$ gh repo set-default -v
FuRuYa7/worm
$ git remote -v
origin  https://github.com/FuRuYa7/worm.git (fetch)
origin  https://github.com/FuRuYa7/worm.git (push)

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -----

13. 参考:「gh」の環境変数:

-

環境変数 からの抜粋:

-

GH_TOKEN、GITHUB_TOKEN (優先順位順):

github.com への、API リクエストの認証トークン。
これを設定すると、認証を求めるプロンプトが表示されなくなり、以前に保存された資格情報よりも優先されます。

-

GH_ENTERPRISE_TOKEN、GITHUB_ENTERPRISE_TOKEN (優先順位順):

GitHub Enterprise への API リクエストの認証トークン。
これを設定するときは、GH_HOST も設定してください。

-

GH_HOST:

既存のリポジトリのコンテキストにない場合、「github.com」ホストを想定するコマンドの GitHub ホスト名を指定します。

-

GH_REPO:

GitHub リポジトリを「[HOST/]OWNER/REPO」形式で指定して、それ以外の場合はローカル リポジトリで動作するコマンドを指定します。

-

GH_EDITOR、GIT_EDITOR、VISUAL、EDITOR (優先順位順):

テキストのオーサリングに使用するエディター ツール。

-

GH_BROWSER、BROWSER (優先順位順):

リンクを開くために使用する Web ブラウザ。

-

GH_DEBUG:

標準エラーで詳細出力を有効にするには、true 値に設定します。
HTTP トラフィックの詳細をさらにログに記録するには、「api」に設定します。

-

DEBUG (deprecated):

標準エラーで詳細出力を有効にするには、「1」、「true」、または「yes」に設定します。

-

GH_PAGER、PAGER (優先順位順):

標準出力を送信する端末ページング プログラム。 例.「less」

-

GLAMOUR_STYLE:

Markdownレンダリングに使用するスタイル。
https://github.com/charmbracelet/glamour#styles」を参照してください

-

NO_COLOR:

カラー出力用の ANSI エスケープ シーケンスの出力を回避するには、任意の値に設定します。

-

CLICOLOR:

出力での ANSI カラーの印刷を無効にするには、「0」に設定します。

-

CLICOLOR_FORCE:

"0" 以外の値に設定すると、出力がパイプ処理された場合でも ANSI カラーが出力されます。

-

GH_FORCE_TTY:

出力がリダイレクトされた場合でも端末スタイルの出力を強制するには、任意の値に設定します。値が数値の場合、ビューポートで使用可能な列の数として解釈されます。値がパーセンテージの場合、現在のビューポートで使用可能な列の数に対して適用されます。

-

GH_NO_UPDATE_NOTIFIER:

更新通知を無効にするには、任意の値に設定します。デフォルトでは、gh は 24 時間ごとに新しいリリースをチェックし、新しいバージョンが見つかった場合は標準エラーにアップグレード通知を表示します。

-

GH_CONFIG_DIR:

gh が設定ファイルを保存するディレクトリ。

デフォルト: 「$XDG_CONFIG_HOME/gh」または「$HOME/.config/gh」

-

GH_PROMPT_DISABLED:

ターミナルでの対話型プロンプトを無効にするには、任意の値に設定します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- -

14. 参考:「gh」コマンドに関連の GitHub の機能へのリンク:

-

-

GitHub Actions:

-

GitHub Gits:

-

GitHub Codespaces:

-

-


まとめ

GitHub CLI」をインストールして、使ってみました。

個人的には、慣れれば使えそうだけど、わざわざ使うこともないかな。という印象です。

-

たぶん、使用頻度によります。いつも使うとか仕事で使うなら、工数削減ができます。
たまにしか使わないのであれば、確認できて確実なブラウザを使います。

-

ただし、「フォークしてリポジトリを作成する」コマンドだけは使えそうです。 コマンドを覚えていなくても入力できるし、ひと手間減ります。

-

フォーク作成の手順:

(1). 作業フォルダに移動後、ログイン:

$ cd ~/Git/
$ gh auth login

→事前に、もしくは作業途中で、「認証トークン」を作成する必要があります。

もしかしたら、一度ログイン(認証)すれば、認証トークンの有効期限内であれば、毎回ログインする必要はないかも。(未確認)なので、怒られたら、入力。

(2). ブラウザで対象のリポジトリを開き、緑色の「Code」ボタンで、「GitHub CLI」を選び、コピーします。

→事前に、「所有者名/リポジトリ名」を調べておけば、ブラウザの起動は要りません。

(3). 端末に貼付け(実行はまだ)

(4). コマンドを「fork」に修正:

gh repo clone 所有者名/リポジトリ名

gh repo fork 所有者名/リポジトリ名

(5). コマンドの実行で、自身にフォークされたリポジトリが追加され、PC にクローンされます。

(6). もし、引き続き、「gh」コマンドを使うのであれば、デフォルトのリポジトリを設定します:

「git」コマンドとブラウザを使うのであれば、要りません。

$ gh repo set-default

→対話式にリポジトリを選択

-

簡単かと思ったら、手順を書いてみたら、けっこう面倒かな。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

GitHub にて、「HTTPS」を使って実際にプルリクエスト〈H163-2〉

登録日: 2023-01-15 更新日: 2023-01-15

GitHub において、リポジトリ画面にある緑色の「Code」ボタンで、「HTTPS」と「GitHub CLI」の URL が表示され、GitHub にサインインすると「SSH」の URL が追加で表示されます。

GitHub の認証が強化されてからは「SSH」のみで、「HTTPS」を使ってのアップロードは行ったことがありません。前回の投稿で、「HTTPS」を使っての操作ができることを確認しました。

-

今回は、「EndeavourOS」の「Welcome」アプリの日本語化について貢献するため、久しぶりに「プルリクエスト」しました。

SSH」は使わずに「HTTPS」の URL を使い、「プルリクエスト」しました。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. 「プルリクエスト」する環境の準備:

  2. 「フォーク」してリポジトリを作成し、クローン:

  3. 「ソース」を修正:

  4. 「パーソナル アクセス トークン」の作成:

  5. 「git push」を実行:

  6. ブラウザで「プルリクエスト」:

  7. マージ:

  8. 不要になった「リポジトリ」を削除:

  9. システム更新で反映:

-

「まとめ へ」

-

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS で、「Boxes」を使う:

-

ボックスの「EndeavourOS」(i3-wm) にて「Welcome」アプリを起動:

-

日本語化された画面:

→「Welcome」アプリは「EndeavourOS」の「Xfce」、「i3-wm」、「Worm」にプリインストールされています。

-

他のディストリビューションにある「Welcome」アプリと違い、カスタマイズしたメニューが作成できるのが利点です。 (画像は、カスタマイズしたメニュー画面です。)

-

その「Welcome」アプリを日本語化したので「プルリクエスト」しました。

承認されれば、デフォルトで日本語化されるので便利です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

1. 「プルリクエスト」する環境の準備:

-

前回の投稿を参照:

-

1). 「GitHub」のアカウントを作成:

-

2). 「Git」コマンドのインストール:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

2. 「プルリクエスト」するために「フォーク」したリポジトリを作成し、クローン:

-

「Welcome」アプリを日本語化しました。貢献できればと「プルリクエスト」しました。デフォルトで日本語化されれば便利です。

-

「Welcome」アプリの翻訳関連のサイト:

GitHub: endeavouros-team/PKGBUILDS

-

Added Japanese translations
  • eos-translations/PKGBUILD

  • eos-translations/translation-ja.bash

-

1). プルリクエストするための作業フォルダに移動:

$ mkdir -p ~/Git/
$ cd ~/Git/

-

2). 対象の「GitHub リポジトリ」(GitHub の該当サイト)をブラウザで開きました:

GitHub: endeavouros-team/PKGBUILDS

-

3). GitHub アカウントにサインイン:

右上の「横3本線」アイコンをクリック→「Sign in」

-

メールアドレスとパスワードを入力

→サインインされると、画面右上に自分が登録した、自分のアイコン(アバター)が表示されます。

-

4). 「Fork」ボタンを押すことで、対象のリポジトリを「フォーク」した「リポジトリ」が自分のリポジトリとして、自動で作成されます:

リポジトリ」を作成するための画面が表示:

リポジトリ名の変更ができます:

もし、自分のサイトにある、リポジトリ名と重なっていたら、わかりやすい名前に修正します。

→「Create fork」をクリック

-

「フォーク」した「リポジトリ」を使うのは、リスクを出来るだけ減らすための回避策です。

直接修正ではなく、ワンクッション置けますし、安心して操作できます。

-

5). しばらく待つと、画面が自分の画面に変わります。左上のリポジトリの名前が変わりました。

-

FuRuYa7/PKGBUILDS

→操作対象がこれになるので、ブラウザのブックマークに登録しました。

-

現在は、リポジトリは削除したので、表示されません。

-

6). この「リポジトリ」の クローンの URL アドレスをコピー:

緑色の「Code」をクリックして、「HTTPS」ボタンを押したときのアドレスを確認:

「コピー」アイコンをクリック

https://github.com/FuRuYa7/PKGBUILDS.git

-

あれっ、「SSH」ボタンも表示されています:

git@github.com:FuRuYa7/PKGBUILDS.git

-

7). ローカルに、最新のソースを入手:

$ cd ~/Git/
$ git clone https://github.com/FuRuYa7/PKGBUILDS.git
:
Cloning into 'PKGBUILDS'...
remote: Enumerating objects: 18561, done.
remote: Counting objects: 100% (677/677), done.
remote: Compressing objects: 100% (354/354), done.
remote: Total 18561 (delta 317), reused 613 (delta 274), pack-reused 17884
Receiving objects: 100% (18561/18561), 19.83 MiB | 9.03 MiB/s, done.
Resolving deltas: 100% (11752/11752), done.

-

8). ダウンロードしたディレクトリに移動:

$ cd ~/Git/PKGBUILDS/

$ ls -a
:
.                                  eos-rankmirrors
..                                 eos-repo-before-arch-repos
.git                               eos-sddm-theme
.github                            eos-settings-budgie
EndeavourOS-archiso-builder        eos-settings-cinnamon
README.md                          eos-settings-gnome
akm                                eos-settings-lxde
arc-gtk-theme-eos                  eos-settings-lxqt
b43-firmware                       eos-settings-mate
calamares                          eos-settings-plasma
calamares-git                      eos-skel-ce-awesome
calamares_config_ce                eos-skel-ce-bspwm
calamares_config_default           eos-skel-ce-openbox
calamares_current                  eos-skel-ce-qtile
ckbcomp                            eos-skel-ce-sway
endeavouros-developer-mirrorlist   eos-skel-ce-worm
endeavouros-keyring                eos-translations
endeavouros-mirrorlist             eos-update-notifier
endeavouros-skel-default           grub-tools
endeavouros-skel-i3wm              kernel-install-for-dracut
endeavouros-skel-i3wm-git          keyserver-rank
endeavouros-skel-xfce4             nvidia-hook
endeavouros-theming                nvidia-inst
endeavouros-xfce4-terminal-colors  nvidia-installer-common
eos-apps-info                      nvidia-installer-db
eos-bash-shared                    nvidia-installer-dkms
eos-downgrade                      openswap
eos-dracut                         pahis
eos-hooks                          paper-icon-theme
eos-lightdm-gtk-theme              power-profiles-switcher
eos-lightdm-slick-theme            qemu-arm-aarch64-static-bin
eos-log-tool                       reflector-bash-completion
eos-lxdm-gtk3                      reflector-simple
eos-packagelist                    welcome
eos-pkgbuild-setup                 wgetpaste-eos
eos-plasma-sddm-config             yad
eos-qogir-icons                    yad-eos
eos-quickstart                     yay

→「.git」の置かれたディレクトリに移動します。

-

9). ブランチの確認:

$ git status
:
ブランチ master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

→master ブランチで、ソースが何も修正されていない状態

-

10). ブランチ一覧を表示:

$ git branch
:
* master

-

11). タグの一覧を表示:

$ git tag
$

→タグはなし

-

12). プルリクエスト用に Branch「develop」を作成して、同時にチェックアウト:

$ git checkout -b develop
:
Switched to a new branch 'develop'

-

別のブランチを作成するのも、リスクを低減する回避策です。 「develop」は慣習としてよく使われます。 また、違うアプローチをするときは別のブランチ名を作成します。

-

13). ステータスの確認:

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→ソースが何も修正されていない状態

-

14). ブランチの確認:

$ git branch
:
* develop
  master

→アクセスできるブランチが変わりました。
「HEAD detached」になっていないことを確認。 ←ポインタがズレて良好ではない状態

-

15). ログ(コミット履歴)の確認:

クローンした時点の最終的なコミットが確認できます:

$ git log
:
commit 5b3818cb6947d0bed56caabb77d679f9252cc3f3 (HEAD -> develop, origin/master, origin/HEAD, master)
Author: manuel-192 <manuel-192@outlook.com>  ←(最終的なコミット者)Windows 使いだったみたい。
Date:   Wed Jan 11 09:34:02 2023 +0200

    [eos-pkgbuild-setup] kernel-install-for-dracut from AUR to EOS PKGBUILDS

commit ed807a481d356b34e260443c22ccb9c3c9902839
Author: manuel-192 <manuel-192@outlook.com>
Date:   Sat Jan 7 22:56:06 2023 +0200

    [eos-pkgbuild-setup] removed yad-eos from build list  ←(yad が変更されたときのコミットみたい)
:

「q」で表示終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

3. 「ソース」を修正:

-

  • 変更(diff)を少なくするため、さわるファイルは最小限にします。ゴミを含めないように注意。

-


1). 「eos-translations/translation-ja.bash」を作成:

$ cd ~/Git/PKGBUILDS/
$ mousepad eos-translations/translation-ja.bash

↓ すべて貼付け:

# Translations for the Welcome app.
#
# Note: variables (like $PRETTY_PROGNAME below) may be used if they are already defined either
# - in the Welcome app
# - globally
#
#
# Any string should be defined like:
#
#    _tr_add <language> <placeholder> "string"
#          or
#    _tr_add2 <placeholder> "string"
#
# where
#
#    _tr_add         A bash function that adds a "string" to the strings database.
#    _tr_add2        Same as _tr_add but knows the language from the _tr_lang variable (below).
#    <language>      An acronym for the language, e.g. "en" for English (check the LANG variable!).
#    <placeholder>   A pre-defined name that identifies the place in the Welcome app where this string is used.
#    "string"        The translated string for the Welcome app.

# Japanese:

### First some useful definitions:

_tr_lang=ja            # required helper variable for _tr_add2

# Help with some special characters (HTML). Yad has problems without them:
_exclamation='&#33;'   # '!'
_and='&#38;'           # '&'
_question='&#63;'      # '?'


###################### Now the actual strings to be translated: ######################
# func   <placeholder>         "string"

_tr_add2 welcome_disabled      "$PRETTY_PROGNAME アプリは無効です。有効にするには、オプション --enable を使います(一時的には: --once)。"  # changed 2022-Feb-21

_tr_add2 butt_later            "また後で"
_tr_add2 butt_latertip         "$PRETTY_PROGNAME を有効のままにします"

_tr_add2 butt_noshow           "今後表示しない"
_tr_add2 butt_noshowtip        "$PRETTY_PROGNAME を無効にします"

_tr_add2 butt_help             "ヘルプ"


_tr_add2 nb_tab_INSTALL        "インストール"
_tr_add2 nb_tab_GeneralInfo    "通常の情報"
_tr_add2 nb_tab_AfterInstall   "インストール後"
_tr_add2 nb_tab_AddMoreApps    "アプリを追加"


_tr_add2 after_install_text    "インストール後の作業"

_tr_add2 after_install_um      "ミラーの更新"
_tr_add2 after_install_umtip   "システム更新前にミラーのリストを更新します"

_tr_add2 after_install_us      "システムの更新"
_tr_add2 after_install_ustip   "システム ソフトウェアを更新します"

_tr_add2 after_install_dsi     "システムの問題を検出"
_tr_add2 after_install_dsitip  "システム パッケージなどの潜在的な問題を検出します"

_tr_add2 after_install_etl     "EndeavourOS を最新にするには $_question"
_tr_add2 after_install_etltip  "EndeavourOS を最新にするには何をすべきかを表示します"

_tr_add2 after_install_cdm     "ディスプレイ マネージャの変更"
_tr_add2 after_install_cdmtip  "別のディスプレイ マネージャを使います"

_tr_add2 after_install_ew      "EndeavourOS にてデフォルトの壁紙を使う"      # was: "EndeavourOS wallpaper"
_tr_add2 after_install_ewtip   "デフォルトの壁紙にリセットします"     # was: "Change desktop wallpaper to EOS default"


_tr_add2 after_install_pm      "パッケージ管理"
_tr_add2 after_install_pmtip   "pacman でパッケージを管理する方法"

_tr_add2 after_install_ay      "AUR $_and yay $_exclamation"
_tr_add2 after_install_aytip   "AUR と yay の情報"

_tr_add2 after_install_hn      "ハードウェアとネットワーク"
_tr_add2 after_install_hntip   "ハードウェアを機能させます"

_tr_add2 after_install_bt      "Bluetooth"
_tr_add2 after_install_bttip   "Bluetooth の使用上の注意"

_tr_add2 after_install_nv      "NVIDIA ユーザへ $_exclamation"
_tr_add2 after_install_nvtip   "NVIDIA インストーラーを使います"

_tr_add2 after_install_ft      "フォーラムの便利な使い方"
_tr_add2 after_install_fttip   "ヘルプの求め方 $_exclamation"


_tr_add2 general_info_text     "EndeavourOS のWeb サイトを見る $_exclamation"

_tr_add2 general_info_ws       "Web サイト"

_tr_add2 general_info_wi       "Wiki"
_tr_add2 general_info_witip    "注目の記事"

_tr_add2 general_info_ne       "ニュース"
_tr_add2 general_info_netip    "ニュースと記事"

_tr_add2 general_info_fo       "フォーラム"
_tr_add2 general_info_fotip    "フレンドリーなフォーラムで質問、コメント、チャット $_exclamation"

_tr_add2 general_info_do       "寄付"
_tr_add2 general_info_dotip    "EndeavourOS の実行を維持するためにご協力ください"

_tr_add2 general_info_ab       "$PRETTY_PROGNAME について"
_tr_add2 general_info_abtip    "このアプリの詳細"


_tr_add2 add_more_apps_text    "人気のアプリをインストール"

_tr_add2 add_more_apps_lotip   "Office ツール (libreoffice-fresh)"

_tr_add2 add_more_apps_ch      "Chromium Web ブラウザ"
_tr_add2 add_more_apps_chtip   "Web ブラウザ"

_tr_add2 add_more_apps_fw      "ファイアウォール"
_tr_add2 add_more_apps_fwtip   "Gufw ファイアウォール"

_tr_add2 add_more_apps_bt      "Xfce 用 Bluetooth (blueberry)"
_tr_add2 add_more_apps_bt_bm   "Xfce 用 Bluetooth (blueman)"


####################### NEW STUFF AFTER THIS LINE:

_tr_add2 settings_dis_contents   "$PRETTY_PROGNAME を再実行するには、ターミナルを起動して次を実行します:\n<tt>   $PROGNAME --enable</tt>\nor\n<tt>   $PROGNAME --once</tt>\n"  # slightly changed 2021-Dec-21; changed again 2022-Apr-06
_tr_add2 settings_dis_text       "$PRETTY_PROGNAME の再有効化:"
_tr_add2 settings_dis_title      "$PRETTY_PROGNAME を再度有効にする方法"
_tr_add2 settings_dis_butt       "覚えました"
_tr_add2 settings_dis_buttip     "約束します"

_tr_add2 help_butt_title         "$PRETTY_PROGNAME のヘルプ"
_tr_add2 help_butt_text          "$PRETTY_PROGNAME アプリの詳細"

_tr_add2 dm_title                "ディスプレイマネージャを選択"
_tr_add2 dm_col_name1            "選択済み"
_tr_add2 dm_col_name2            "ディスプレイマネージャ名"

_tr_add2 dm_reboot_required      "変更を有効にするには再起動が必要です。"
_tr_add2 dm_changed              "ディスプレイマネージャが次のように変更されました: "
_tr_add2 dm_failed               "ディスプレイマネージャの変更に失敗しました。"
_tr_add2 dm_warning_title        "警告"

_tr_add2 install_installer       "インストーラー"
_tr_add2 install_already         "インストール済み"
_tr_add2 install_ing             "インストール"
_tr_add2 install_done            "終了。"

_tr_add2 sysup_no                "更新はありません。"
_tr_add2 sysup_check             "ソフトウェア更新を確認..."

_tr_add2 issues_title            "パッケージの問題を検出"
_tr_add2 issues_grub             "重要: ブート メニューを手動で再作成する必要があります。"
_tr_add2 issues_run              "コマンドの実行:"
_tr_add2 issues_no               "重要なシステムの問題は検出されませんでした。"

_tr_add2 cal_noavail            "利用できません: "        # installer program
_tr_add2 cal_warn               "警告"
_tr_add2 cal_info1              "これはコミュニティが開発したリリースです。\n\n"     # specials needed!
_tr_add2 cal_info2              "<b>オフライン</b> 方式は、EndeavourOS をテーマにした Xfce デスクトップを提供します。\nインターネット接続は必要ありません。\n\n"
_tr_add2 cal_info3              "<b>オンライン</b> 方式では、バニラのテーマでデスクトップを選択できます。\nインターネット接続が必要です。\n\n"
_tr_add2 cal_info4              "注意: このリリースは進行中です。バグを報告して、安定させるためにご協力ください。\n"
_tr_add2 cal_choose             "インストールのやり方を選択"
_tr_add2 cal_method             "方式"
_tr_add2 cal_nosupport          "$PROGNAME: サポートされていないモードです: "
_tr_add2 cal_nofile             "$PROGNAME: 必要なファイルが存在しません: "
_tr_add2 cal_istarted           "インストールの開始"
_tr_add2 cal_istopped           "インストールの完了"

_tr_add2 tail_butt              "このウィンドウを閉じます"
_tr_add2 tail_buttip            "このウィンドウだけを閉じます"


_tr_add2 ins_text              "ディスクに EndeavourOS をインストール"
_tr_add2 ins_start             "インストーラーを起動"
_tr_add2 ins_starttip          "デバッグ端末とともに EndeavourOS インストーラーを起動"
_tr_add2 ins_up                "このアプリを更新 $_exclamation"
_tr_add2 ins_uptip             "このアプリを更新して再起動"
_tr_add2 ins_keys              "pacman のキーの初期化"
_tr_add2 ins_keystip           "pacman のキーを初期化します"
_tr_add2 ins_pm                "パーティション管理マネージャ"
_tr_add2 ins_pmtip             "Gparted アプリを使うと、ディスクのパーティションと構造を調査および管理できます"
_tr_add2 ins_rel               "最新のリリース情報"
_tr_add2 ins_reltip            "最新のリリースに関する詳細情報"
_tr_add2 ins_tips              "インストールのヒント"
_tr_add2 ins_tipstip           "インストールのヒント"
_tr_add2 ins_trouble           "トラブル解決"
_tr_add2 ins_troubletip        "システム復旧"

_tr_add2 after_install_us_from    "更新 "                            # AUR or upstream
_tr_add2 after_install_us_el      "管理者権限が必要です。"
_tr_add2 after_install_us_done    "更新完了。"
_tr_add2 after_install_us_fail    "更新に失敗しました $_exclamation"

# 2020-May-14:

_tr_add2 nb_tab_UsefulTips     "ヒント"
_tr_add2 useful_tips_text      "役立つヒント"

# 2020-May-16:

_tr_add2 butt_changelog        "変更ログ"
_tr_add2 butt_changelogtip     "Welcome の変更ログを表示します"

_tr_add2 after_install_themevan      "Xfce バニラテーマ"
_tr_add2 after_install_themevantip   "バニラの Xfce テーマを使います"

_tr_add2 after_install_themedef     "Xfce EndeavourOS デフォルトテーマ"
_tr_add2 after_install_themedeftip  "EndeavourOS のデフォルトの Xfce テーマを使います"

# 2020-Jun-28:
_tr_add2 after_install_pclean       "パッケージのクリーンアップ設定"
_tr_add2 after_install_pcleantip    "パッケージ キャッシュのクリーンアップ サービスを設定します"

# 2020-Jul-04:
_tr_add2 nb_tab_OwnCommands         "個人用コマンド"                   # modified 2020-Jul-08
_tr_add2 nb_tab_owncmds_text        "個人用に作成したコマンド"         # modified 2020-Jul-08

# 2020-Jul-08:
_tr_add2 nb_tab_owncmdstip          "個人用コマンドの追加に関するヘルプ"

_tr_add2 add_more_apps_akm          "カーネル管理マネージャ"
_tr_add2 add_more_apps_akmtip       "小さな Linux カーネル マネージャとソースの情報"

# 2020-Jul-15:
_tr_add2 butt_owncmds_help        "チュートリアル: 個人用コマンド"

# 2020-Aug-05:
_tr_add2 butt_owncmds_dnd         "個人用コマンド ドラッグ${_and}ドロップ"
_tr_add2 butt_owncmds_dnd_help    "新しいボタンのフィールド項目をドラッグする、ウィンドウを表示します"

# 2020-Sep-03:
_tr_add2 ins_reso                 "ディスプレイの解像度を変更"
_tr_add2 ins_resotip              "ディスプレイの解像度を今すぐ変更します"

# 2020-Sep-08:
_tr_add2 add_more_apps_arch          "すべての Arch パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_aur           "すべての AUR パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_done1_text    "推奨アプリは既にインストールされています $_exclamation"
_tr_add2 add_more_apps_done2_text    "またはすべての Arch および AUR パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_done2_tip1    "インストールに、「pacman」または「AUR ヘルパー」を使います"
_tr_add2 add_more_apps_done2_tip2    "インストールに、「AUR ヘルパー」を使います"

# 2020-Sep-11:
_tr_add2 after_install_ew2        "EndeavourOS の壁紙の 1つを選択"   # was: "EndeavourOS wallpaper (choose)"
_tr_add2 after_install_ewtip2     "壁紙を選択します"                 # was: "Choose from EndeavourOS default wallpapers"

# 2020-Sep-15:
#    IMPORTANT NOTE:
#       - line 71:  changed text of 'after_install_ew'
#       - line 72:  changed text of 'after_install_ewtip'
#       - line 249: changed text of 'after_install_ew2'
#       - line 250: changed text of 'after_install_ewtip2'

# 2020-Oct-23:
_tr_add2 updt_update_check        "更新の確認"
_tr_add2 updt_searching           "検索中"
_tr_add2 updt_for_updates         "にて更新"
_tr_add2 updt_failure             "失敗 $_exclamation"
_tr_add2 updt_nothing_todo        "やることが何もありません"
_tr_add2 updt_press_enter         "ENTER を押してこのウィンドウを閉じます"

# 2020-Oct-24:
#    IMPORTANT NOTE:
#       - line 244: changed text of 'add_more_apps_done2_text'

# 2020-Dec-11:
_tr_add2 after_install_pacdiff_tip "pacnew、pacorig の管理 $_and pacdiff を使用した pacsave ファイル $_and"

# 2021-Apr-07:
_tr_add2 after_install_conf           "設定"                             # a starting verb on a sentence "Configure eos-update-notifier"
_tr_add2 after_install_more_wall      "EndeavourOS の壁紙をもっとダウンロード"
_tr_add2 after_install_more_wall_tip  "EndeavourOS の以前の壁紙とコミュニティの壁紙をダウンロードします"
_tr_add2 after_install_info           "情報"                           # last word on a sentence, means just any information

_tr_add2 butt_softnews                "ソフトウェアニュース"
_tr_add2 butt_softnews_tip            "EndeavourOS ソフトウェアに関する重要なお知らせ"

_tr_add2 install_community            "コミュニティ エディションをインストール"
_tr_add2 install_community_tip        "コミュニティ版コレクション (オンラインが必要)"    # changed 2021-Oct-23

# 2021-May-01
_tr_add2 ins_syslog                   "システムログを共有する方法"
_tr_add2 ins_syslogtip                "サポートが必要な場合にシステム ログを共有する方法について説明します"
_tr_add2 ins_logtool                  "トラブル解決用のログ"
_tr_add2 ins_logtooltip               "ヘルプを求めるときにトラブル解決用のログを選択、作成、共有します"

# 2021-May-20
_tr_add2 nb_tab_DailyAssistant       "補助"
_tr_add2 daily_assistant_text        "日常的に使える便利なツール"
_tr_add2 after_install_itab          "Welcome で最初に開くタブを選択"
_tr_add2 after_install_itab_tip      "Welcome の開始時に表示するタブを設定します"

# 2021-Jun-08
_tr_add2 daily_assist_apps           "アプリケーションのカテゴリ"
_tr_add2 daily_assist_apps_tip       "カテゴリ別に分類されたアプリケーション"

_tr_add2 after_install_vbox1         "VirtualBox  Guest ユーティリティを有効にする"
_tr_add2 after_install_vbox2         "VirtualBox Guest ユーティリティを有効にするには、「<b>AfterInstall</b>」タブを選択し、ボタンをクリックします "

# 2021-Jun-17
_tr_add2 after_install_r8168         "有線ネットワークの問題 $_question r8168 および r8169 ドライバーの切替え $_exclamation"    # changed 2021-Dec-14 !!
_tr_add2 after_install_r8168_tip     "r8168 ドライバーと r8169 ドライバーを切替えます (再起動が必要な場合があります)"           # changed 2021-Dec-14 !!

# 2021-Oct-08
_tr_add2 daily_assist_DEinfo         "情報"                                         # assume prefix "DE:", e.g.: "Xfce: information"
_tr_add2 daily_assist_DEinfo_tip     "このデスクトップ/ウィンドウ マネージャに関する詳細情報"  # assume prefix "DE:", e.g.: "Xfce: more information ..."

# 2022-Feb-16
_tr_add2 add_more_apps_qs            "インストールしたい人気のアプリを選択"                      # runs eos-quickstart
_tr_add2 add_more_apps_qstip         "人気のあるアプリを選択してインストール"

# 2022-Mar-21
_tr_add2 ins_blue_notes              "Bluetooth について"
_tr_add2 ins_blue_notes_tip          "Bluetooth の設定に関する注意事項"

# 2022-Mar-27
_tr_add2 after_install_fw            "ファイアウォールの情報"
_tr_add2 after_install_fwtip         "デフォルトのファイアウォールに関する情報"

# 2022-Mar-30
_tr_add2 ins_custom                  "インストール処理のカスタマイズ"
_tr_add2 ins_custom_tip              "インストール処理をカスタマイズする方法"

# 2022-Jul-15
_tr_add2 daily_assist_anews          "Arch の最新ニュース"
_tr_add2 daily_assist_anewstip       "Arch の最新ニュースをブラウザに表示"

# 2022-Sep-25
_tr_add2 nb_nofify_user1             "重要なお知らせがあります "
_tr_add2 nb_nofify_user2             "クリックしてください "                                  # Software News
_tr_add2 nb_nofify_user3             "このウィンドウの左下隅にあるボタンを"

→337行目が空行であることを確認して保存

-

追記:

2023-01-15

英語の原文の修正があり、追加の「プルリクエスト」を発行し、

ソースの「eos-translations/translation-ja.bash」を修正しました:

180 行目:

_tr_add2 ins_starttip          "EndeavourOS インストーラーを起動します (メインのデスクトップから選択します)"   # changed 2023-Jan-12

-

284 行目:

_tr_add2 install_community_tip        "コミュニティ版コレクション (様々な WM)"    # changed 2021-Oct-23, 2023-Jan-12

-

上記のファイルの修正に伴い、「eos-translations/PKGBUILD」のチェックサム値も変更されました:

            '3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f'

↓ 変更:

            '79ceb75ece6f9fb70cbede8eaf35477c795d1ef9c5dc3a78ab96d2ea112af1bbd7af87923fac0c5079da9a16a67ced53eb194f52e9c27717f1d457126e0807ed'

ただし、バージョン管理が絡んでくるので、新規でなく、更新の場合は、
「eos-translations/PKGBUILD」の修正は「プルリクエスト」に含めなくても良いとのことです。

-


2). 「eos-translations/translation-ja.bash」のチェックサム値を確認:

$ sha512sum eos-translations/translation-ja.bash
3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f  eos-translations/translation-ja.bash

↓ 抜粋

3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f

-


3). 「eos-translations/PKGBUILD」を修正:

$ cd ~/Git/PKGBUILDS/
$ mousepad eos-translations/PKGBUILD

-

6行目を修正:
pkgver=1.21

→カウントアップしました。

-

29行目に追加(12番目):
  $url/translation-ja.bash

-

55行目にチェックサム値を追加(12番目):
            '3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f'

→行頭のインデントがわかりづらいので、全画面表示で確認すると良いです。

行番号を間違えると、他の言語の翻訳が通らなくなるので注意。

-

4). 確認:

$ git status
:
ブランチ develop
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   eos-translations/PKGBUILD

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)
    eos-translations/translation-ja.bash

no changes added to commit (use "git add" and/or "git commit -a")

→赤色で、修正したファイルがあれば OK。 それ以外がある場合は、エディタで作られたテンポラリやバックアップが作成されている可能性があるので削除します。

  • eos-translations/PKGBUILD(修正)
  • eos-translations/translation-ja.bash(追加)

-

5). 修正内容の確認:

$ git diff
:
diff --git a/eos-translations/PKGBUILD b/eos-translations/PKGBUILD
index 8bc14246..850d4554 100644
--- a/eos-translations/PKGBUILD
+++ b/eos-translations/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=eos-translations
 pkgdesc="EndeavourOS translation support"
-pkgver=1.20
+pkgver=1.21
 pkgrel=1
 arch=('any')
 license=('GPL')
@@ -26,6 +26,7 @@ source=(
   $url/translation-hr.bash
   $url/translation-is.bash
   $url/translation-it.bash
+  $url/translation-ja.bash
   $url/translation-pl.bash
   $url/translation-pt.bash
   $url/translation-pt_BR.bash
@@ -51,6 +52,7 @@ sha512sums=('4bf1c5216c0ed969a41bf43b0fc28b8cb80b6deb4482cdb1e7312adcf3c4e8ac2f7
             '3d54d139eaa5cef0b4960ab2a912ab76429bc59b727bf5fbf27fd9495c8b1631a33d85e7d3084044c07887d6353e8c3d0d3cc1ea1854b793669a4b9d14a956e3'
             '2282de363c4da66b1fce97c9adb9a158e3fd4b5abff1c75695ca8ae144238a1ccbdc6fb6b637d4bbb11dcd6509f9797b66da71026b49a9b9ccda416dbf4bc71f'
             'b6de26693dd1cec96e3eae6880408dae8a947d7d89d0958a1afa09e1c786976f58cb3bc797b26cf2ce0d4a402e9ea1ed27c4d8345d6788b3861954cfdff2baf2'
+            '3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f'
             '059470680fa82160c54d652e892454d442d7fb29ac0e07251e1ebc22cd5c51c7f09788d52eb8ef721f25305741a264dbc14664d61d16046148e279455d708bde'
             '918c26c4d1362fdd8603ce9ec5c10e75973192d279bcb981a839a5b0fe417eaec93b8ec5870f2ef8dfa6f9fb65ce9a7dc030f26992a46dc0bb59469f2a0678ab'
             '09d871d0e94d48c39b07cb5380ce62d33d3799b3986c59e79d88a1e5366e958000edca0a4b4f1a938c7fc6ddc43993bca6e94bc5f1dd08ab6128c6c2c205f64c'
(END)

「q」で表示終了

-

新規ファイルは追跡されていないファイルになるので、差分は表示されません。

-

6). 早めにコメントに使う、英文を作成しておきます。

表題:

Added Japanese translations

-

後で付け加える、コメントの内容:

なし

-


7). 編集したファイルを add:

  • 「編集エリア」(working tree) から「ステージングエリア」に移します。
$ git add -A

-

$ git status
:
ブランチ develop
コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
    modified:   eos-translations/PKGBUILD
    new file:   eos-translations/translation-ja.bash

→緑色に変わりました。

参考: 「git add」をやり直すときは、

$ git restore --staged eos-translations/PKGBUILD eos-translations/translation-ja.bash

-

8). ステージングエリアでの差分の表示:

$ git diff --cached
diff --git a/eos-translations/PKGBUILD b/eos-translations/PKGBUILD
index 8bc14246..850d4554 100644
--- a/eos-translations/PKGBUILD
+++ b/eos-translations/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=eos-translations
 pkgdesc="EndeavourOS translation support"
-pkgver=1.20
+pkgver=1.21
 pkgrel=1
 arch=('any')
 license=('GPL')
@@ -26,6 +26,7 @@ source=(
   $url/translation-hr.bash
   $url/translation-is.bash
   $url/translation-it.bash
+  $url/translation-ja.bash
   $url/translation-pl.bash
   $url/translation-pt.bash
   $url/translation-pt_BR.bash
@@ -51,6 +52,7 @@ sha512sums=('4bf1c5216c0ed969a41bf43b0fc28b8cb80b6deb4482cdb1e7312adcf3c4e8ac2f7
             '3d54d139eaa5cef0b4960ab2a912ab76429bc59b727bf5fbf27fd9495c8b1631a33d85e7d3084044c07887d6353e8c3d0d3cc1ea1854b793669a4b9d14a956e3'
             '2282de363c4da66b1fce97c9adb9a158e3fd4b5abff1c75695ca8ae144238a1ccbdc6fb6b637d4bbb11dcd6509f9797b66da71026b49a9b9ccda416dbf4bc71f'
             'b6de26693dd1cec96e3eae6880408dae8a947d7d89d0958a1afa09e1c786976f58cb3bc797b26cf2ce0d4a402e9ea1ed27c4d8345d6788b3861954cfdff2baf2'
+            '3aef3aa8cfa9df2089bf7b80f1bf9048a3e2df06cc36424af0804f591c609180604c3ea73a30cb8aaf4c6a6be1921ae06b5c23daf5cae309fcf9950973762b1f'
             '059470680fa82160c54d652e892454d442d7fb29ac0e07251e1ebc22cd5c51c7f09788d52eb8ef721f25305741a264dbc14664d61d16046148e279455d708bde'
             '918c26c4d1362fdd8603ce9ec5c10e75973192d279bcb981a839a5b0fe417eaec93b8ec5870f2ef8dfa6f9fb65ce9a7dc030f26992a46dc0bb59469f2a0678ab'
             '09d871d0e94d48c39b07cb5380ce62d33d3799b3986c59e79d88a1e5366e958000edca0a4b4f1a938c7fc6ddc43993bca6e94bc5f1dd08ab6128c6c2c205f64c'
diff --git a/eos-translations/translation-ja.bash b/eos-translations/translation-ja.bash
new file mode 100644
index 00000000..6bcf067f
--- /dev/null
+++ b/eos-translations/translation-ja.bash
@@ -0,0 +1,336 @@
+# Translations for the Welcome app.
+#
+# Note: variables (like $PRETTY_PROGNAME below) may be used if they are already defined either
+# - in the Welcome app
+# - globally
+#
+#
+# Any string should be defined like:
+#
+#    _tr_add <language> <placeholder> "string"
+#          or
+#    _tr_add2 <placeholder> "string"
+#
+# where
+#
+#    _tr_add         A bash function that adds a "string" to the strings database.
+#    _tr_add2        Same as _tr_add but knows the language from the _tr_lang variable (below).
+#    <language>      An acronym for the language, e.g. "en" for English (check the LANG variable!).
+#    <placeholder>   A pre-defined name that identifies the place in the Welcome app where this string is used.
+#    "string"        The translated string for the Welcome app.
+
+# Japanese:
+
+### First some useful definitions:
+
+_tr_lang=ja            # required helper variable for _tr_add2
+
+# Help with some special characters (HTML). Yad has problems without them:
+_exclamation='&#33;'   # '!'
+_and='&#38;'           # '&'
+_question='&#63;'      # '?'
+
+
+###################### Now the actual strings to be translated: ######################
+# func   <placeholder>         "string"
+
+_tr_add2 welcome_disabled      "$PRETTY_PROGNAME アプリは無効です。有効に
するには、オプション --enable を使います(一時的には: --once)。"  # changed 2022-Feb-21
+
+_tr_add2 butt_later            "また後で"
+_tr_add2 butt_latertip         "$PRETTY_PROGNAME を有効のままにします"
+

: (省略)

+
+# 2022-Jul-15
+_tr_add2 daily_assist_anews          "Arch の最新ニュース"
+_tr_add2 daily_assist_anewstip       "Arch の最新ニュースをブラウザに表示"
+
+# 2022-Sep-25
+_tr_add2 nb_nofify_user1             "重要なお知らせがあります "
+_tr_add2 nb_nofify_user2             "クリックしてください "                                  # Software News
+_tr_add2 nb_nofify_user3             "このウィンドウの左下隅にあるボタンを"
(END)

「q」で表示終了

-


9). 編集したファイルを「コミット」:

「ステージングエリア」から「本番エリア」に移します:

$ git commit -m 'Added Japanese translations'
:
[develop c4d0ca6c] Added Japanese translations
 2 files changed, 339 insertions(+), 1 deletion(-)
 create mode 100644 eos-translations/translation-ja.bash

→先ほど作成した「英文の表題」を指定

-

$ git log
:
commit c4d0ca6c93bad9c42bf2150505f9b407c2a1313c (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>  ←(git の設定にあるユーザ名とメールアドレス)
Date:   Wed Jan 11 21:24:00 2023 +0900

    Added Japanese translations      ←(指定した「英文の表題」)

commit 5b3818cb6947d0bed56caabb77d679f9252cc3f3 (origin/master, origin/HEAD, master)
Author: manuel-192 <manuel-192@outlook.com>
Date:   Wed Jan 11 09:34:02 2023 +0200

    [eos-pkgbuild-setup] kernel-install-for-dracut from AUR to EOS PKGBUILDS

「q」で表示終了

-


10). 最新のコミットと差分を 1件表示 (git show):

$ git show
:
commit c4d0ca6c93bad9c42bf2150505f9b407c2a1313c (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Wed Jan 11 21:24:00 2023 +0900

    Added Japanese translations

diff --git a/eos-translations/PKGBUILD b/eos-translations/PKGBUILD
index 8bc14246..850d4554 100644
--- a/eos-translations/PKGBUILD
+++ b/eos-translations/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=eos-translations
 pkgdesc="EndeavourOS translation support"
-pkgver=1.20
+pkgver=1.21
 pkgrel=1
 arch=('any')
 license=('GPL')
:

「q」で表示終了

-

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→コミットされると、表示が消えます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

4. 「パーソナル アクセス トークン」の作成

-

1). 「personal access token (classic) 」の作成:

前回の「personal access token (classic) の作成」を参照:

-

トークンの名前「My github-welcome」にしました。

-

2). 作成後、「コピー」アイコンをクリック

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

5. 「git push」を実行:

-

ブランチ「develop」から、Github 上のブランチ「origin」に push:

-

1). ローカルで編集したリポジトリをオンライン上に渡します:

$ git push origin develop
:
Username for 'https://github.com': xxx1234  ←(ユーザ名入力)
Password for 'https://xxx1234@github.com':  ←(パーソナル アクセス トークンを貼付け)
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 2 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 5.76 KiB | 2.88 MiB/s, done.
Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
remote: 
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/FuRuYa7/PKGBUILDS/pull/new/develop
remote: 
To https://github.com/FuRuYa7/PKGBUILDS.git
 * [new branch]        develop -> develop

-

2). 確認:

$ git log
:
commit c4d0ca6c93bad9c42bf2150505f9b407c2a1313c (HEAD -> develop, origin/develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Wed Jan 11 21:24:00 2023 +0900

    Added Japanese translations

commit 5b3818cb6947d0bed56caabb77d679f9252cc3f3 (origin/master, origin/HEAD, master)
Author: manuel-192 <manuel-192@outlook.com>
Date:   Wed Jan 11 09:34:02 2023 +0200

    [eos-pkgbuild-setup] kernel-install-for-dracut from AUR to EOS PKGBUILDS
:

スペースで改ページ

→半角の「q」で表示終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

6. ブラウザで「プルリクエスト」:

-

1). フォークで作成された自身の「リポジトリ」のサイトをブラウザで開きます:

FuRuYa7/PKGBUILDS

→ブックマークを登録しておけば楽です。

-

-

2). 右中の大きな緑色の「Compare & pull request」ボタンをクリック

→「Fork」を押した、本家リポジトリendeavouros-team/PKGBUILDS 」のサイトに切り替わるので注意。

-

画面中央に表示される、Base: が「master」かを確認。

endeavouros-team:master ← FuRuYa7:develop

-

表示されているコメントを確認:

コメントに追加したいメッセージがあれば付け加えます。

-

3). 右下にある緑色の「Create pull request」ボタンをクリック

-

4). 「プルリクエスト」が作成されました:

Added Japanese translations #251

FuRuYa7 wants to merge 1 commit into endeavouros-team:master from FuRuYa7:develop

和訳: FuRuYa7 は、FuRuYa7:develop から 1 つのコミットを endeavouros-team:master にマージしたいと要求

-

5). 回答待ち:

2023-01-11 22:30 〜

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

7. 「プルリクエスト」がマージされました:

-

1). Added Japanese translations #251

についてのメールが来ていました。

〜 2023-01-12 00:18

-

2). マージされました:

-

和訳:

プル リクエストが正常にマージされ、クローズされました

これで準備は完了です — FuRuYa7:develop ブランチは安全に削除できます。
必要に応じて、設定でこの endeavouros-team/PKGBUILDS のフォークを削除することもできます。

-

3). マージされたので、不要になった、プルリクエスト用の「develop」ブランチを削除:

→「Delete branch」をクリック

-

Pull request closed

If you wish, you can delete this fork of endeavouros-team/PKGBUILDS in the [settings] .

和訳:

プル リクエストは終了しました

必要に応じて、「設定」でこの endeavouros-team/PKGBUILDS のフォークを削除できます。

-

追記:

上記の「 settings」のリンクの文字をクリックすると、次の「項番 8. 「リポジトリ」を削除」にある、「項番 6). 」の画面に飛ぶので、すぐにフォークで作成された「リポジトリ」(FuRuYa7/PKGBUILDS)を削除できます。

-

4). 自身のFuRuYa7/PKGBUILDS のサイトを確認:

→「develop」ブランチは削除。「master」ブランチは残ったまま。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

8. 「プルリクエスト」で使った、自身のフォークされた「リポジトリ」を削除:

-

「develop」ブランチを削除したので、修正したファイルは残っていません

最新のソースは本家のリポジトリを見れば良いので、削除しました。

-

参考: 削除されたリポジトリの一部は、削除から 90 日以内は復元できるみたい。

復元するには、「削除されたリポジトリの復元 」を参照:

-

1). 削除したい、自身のFuRuYa7/PKGBUILDS のサイトを開きました:

-


2). GitHub にサインイン:

-


3). リポジトリの設定を変更するので、サイトの右上の、Watch、Star、のカウントがないことを確認:

閲覧やフォークされていないことを確認:

Watch(0)、Star(0)、の表示です。

→Fork(61) は本家のフォークの数なので無視。

-


4). サイトの「Code」タブの並ぶ、右端にある「Settings」タブをクリック→「Settings」

Repository name

「PKGBUILDS」

↓ 下の方にスクロール:

-


5). Danger Zone:

-


6). 「Delete this repository」(このリポジトリを削除)をクリック

→警告が表示:

和訳:

Are you absolutely sure?
本当によろしいですか?
これを読まないと思わぬ悪いことが起こります!

この操作は元に戻せません。これにより、FuRuYa7/PKGBUILDS リポジトリ、
wiki、Issue、コメント、パッケージ、シークレット、ワークフローの実行が完全に削除され、
すべてのコラボレーターの関連付けが削除されます。

Please type FuRuYa7/PKGBUILDS to confirm.
「FuRuYa7/PKGBUILDS」と入力して確認してください。

-


7). 削除対象の「リポジトリ名」を入力:

→「FuRuYa7/PKGBUILDS」と入力

→「I understand the consequences, delete this repository」(結果を理解。このリポジトリを削除)をクリック

-


8). 「パスワード入力」画面:

→パスワード

→「Confirm」(確認)をクリック

-


9). 「Your repository "FuRuYa7/PKGBUILDS" was successfully deleted.」表示

リポジトリ「FuRuYa7/PKGBUILDS」は正常に削除されました。)

-


10). GitHub からサインアウト:

-


11). ローカルにクローンしたフォルダをリネーム:

同期がズレ、接続も切れているので、プルリクエストには使えません。

フォルダを削除してもいいですが、修正したファイルが残っているので、しばらくは残しました。

-

確認:

$ ls -1 ~/Git/
:
PKGBUILDS
furuichi

-

変更:

$ cd ~/Git/
$ mv PKGBUILDS/ EndeavourOS-PKGBUILDS-2023-01-15/
$ ls -1 ~/Git/
:
EndeavourOS-PKGBUILDS-2023-01-12
EndeavourOS-PKGBUILDS-2023-01-15
furuichi

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

9. システム更新が来ていないか確認:

-

「EndeavourOS」(i3-wm) にて確認:

-

1). 現在のインストール状態:

$ paru -Ss eos-translations
endeavouros/eos-translations 1.20-1 [0B 336.08KiB] [インストール済み]
    EndeavourOS translation support

→バージョンは「1.20」です。

-

2). システム更新の確認:

$ paru
:
パッケージ (135) 
eos-translations-1.22-1

:: インストールを行いますか? [Y/n] n

→確認のみで、中断。

「Welcome」アプリが日本語化に対応しました。 バージョンは「1.22」です。

-

3). 日本語翻訳を解除:

$ cd /usr/share/endeavouros/scripts/
$ sudo mv translation-ja.bash translation-ja.bash-ORG
$ eos-welcome --once

「Welcome」アプリのメニューバーが英語に戻ったことを確認

Windows + Q で終了

-

4). システム更新:

$ paru
:
パッケージ (135) alsa-card-profiles-1:0.3.63-6  arc-gtk-theme-eos-20221218-1  audit-3.0.9-1  btrfs-progs-6.1.2-1
                 ca-certificates-mozilla-3.87-1  clucene-2.3.3.4-13  curl-7.87.0-3  cython-0.29.33-1
                 dialog-1:1.3_20221229-1  djvulibre-3.5.28-4  eos-translations-1.22-1  ethtool-1:6.1-1
                 featherpad-1.3.5-1  fluidsynth-2.3.1-1  gd-2.3.3-6  gdk-pixbuf2-2.42.10-2  ghostscript-10.0.0-4
                 glslang-11.13.0-2  gst-libav-1.20.5-5  gst-plugin-gtk-1.20.5-5  gst-plugin-pipewire-1:0.3.63-6
                 gst-plugins-bad-1.20.5-5  gst-plugins-bad-libs-1.20.5-5  gst-plugins-base-1.20.5-5
                 gst-plugins-base-libs-1.20.5-5  gst-plugins-ugly-1.20.5-5  gstreamer-1.20.5-5  gthumb-3.12.2-3
                 gtk-update-icon-cache-1:4.8.3-3  gvfs-1.50.3-1  gvfs-afc-1.50.3-1  gvfs-gphoto2-1.50.3-1
                 gvfs-mtp-1.50.3-1  gvfs-nfs-1.50.3-1  gvfs-smb-1.50.3-1  hidapi-0.13.1-1  hwdata-0.366-1
                 hwdetect-2023.01-1  hwinfo-22.2-1  imagemagick-7.1.0.57-2  imlib2-1.10.0-2  kajongg-22.12.1-1
                 kio-5.101.0-2  kmahjongg-22.12.1-1  kmines-22.12.1-1  kolourpaint-22.12.1-1  ksanecore-22.12.1-1
                 kshisen-22.12.1-1  lcms2-2.14-2  libcamera-0.0.3-3  libetonyek-0.1.10-3  libheif-1.14.2-1
                 libkdegames-22.12.1-1  libkmahjongg-22.12.1-1  libksane-22.12.1-1  liblc3-1.0.1-1  libmm-glib-1.20.4-1
                 libnice-0.1.21-1  libnm-1.40.10-1  libnma-1.10.6-1  libnma-common-1.10.6-1  libopenmpt-0.6.7-1
                 libpcap-1.10.2-1  libplacebo-5.229.1-2  libpsl-0.21.2-1  libraqm-0.10.0-1  librevenge-0.0.5-2
                 libsndfile-1.2.0-1  libspectre-0.2.12-1  libtiff-4.5.0-1  libva-2.17.0-1  libwbclient-4.17.4-4
                 libwebp-1.2.4-2  libx11-1.8.3-5  libxfce4ui-4.18.1-1  libxfce4util-4.18.1-1  libxkbcommon-1.5.0-1
                 libxkbcommon-x11-1.5.0-1  linux-6.1.4.arch1-1  linux-headers-6.1.4.arch1-1
                 luajit-2.1.0.beta3.r467.gd0e88930-1  make-4.4-1  man-db-2.11.2-1  mesa-22.3.2-3  modemmanager-1.20.4-1
                 mpv-1:0.35.0-4  ncurses-6.4-1  networkmanager-1.40.10-1  nilfs-utils-2.2.9-2  nss-3.87-1
                 openjpeg2-2.5.0-2  pacman-contrib-1.8.2-1  perl-test-deep-1.204-1  pipewire-1:0.3.63-6
                 pipewire-alsa-1:0.3.63-6  pipewire-audio-1:0.3.63-6  pipewire-jack-1:0.3.63-6  pipewire-pulse-1:0.3.63-6
                 poppler-23.01.0-3  poppler-glib-23.01.0-3  poppler-qt5-23.01.0-3  python-termcolor-2.2.0-1
                 python-trove-classifiers-2023.1.12-1  python-zope-interface-5.5.2-1  qt5-base-5.15.8+kde+r162-1
                 qt5-declarative-5.15.8+kde+r24-1  qt5-imageformats-5.15.8+kde+r6-1  qt5-multimedia-5.15.8+kde+r1-1
                 qt5-speech-5.15.8+kde+r1-1  qt5-svg-5.15.8+kde+r8-1  qt5-tools-5.15.8+kde+r1-1
                 qt5-translations-5.15.8-1  qt5-wayland-5.15.8+kde+r57-1  qt5-x11extras-5.15.8-1  qt6-base-6.4.2-1
                 qt6-declarative-6.4.2-1  qt6-svg-6.4.2-1  qt6-translations-6.4.2-1  rav1e-0.6.3-1  rxvt-unicode-9.31-1
                 rxvt-unicode-terminfo-9.31-1  sane-1.1.1-2  scrot-1.8-1  sdl2-2.26.2-1  sdl_image-1.2.12-8
                 shaderc-2022.4-1  shadow-4.13-1  smbclient-4.17.4-4  sof-firmware-2.2.4-1  spandsp-0.0.6-4
                 spirv-tools-2022.4-1  thunar-4.18.2-1  xz-5.4.1-1  zvbi-0.2.39-1  zxing-cpp-2.0.0-1

カーネルや featherpad だけでなく、ゲーム系もバージョンアップ

-

5). 再起動:

$ reboot

-

6). 動作確認:

$ uname -r
6.1.4-arch1-1

-

$ eos-welcome --version
3.45-1

$ eos-welcome --once

-

「Welcome」アプリが日本語化されました:

「EndeavourOS」(i3-wm) の画面:

→「個人用コマンド」タブもちゃんと表示。以前の設定が残っていました。

-

Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

10. 別件: 「EndeavourOS」(Worm) にて「プルリクエスト」:

-

「EndeavourOS」(Worm) のタスクバーにて、選択された番号がわかりづらかったので、個人的に行った改善策を「プルリクエスト」:

-

1). プルリクエスト提出先:

EndeavourOS-Community-Editions/worm

→公式サイトではなく、EndeavourOS 専用のコミュニティのサイトです。

-

2). プルリクエスト:

Change the color of the number of the selected "tag" to "orange" #3

-

表題:

Change the color of the number of the selected "tag" to "orange"

(選択した「タグ」の数字の色を「オレンジ」に変更)

-

コメント:

Changed the color of the selected number to make it easier to understand.
(選択した数字の色を変えて分かりやすくしました。)

Image of taskbar after change:
(変更後のタスクバーのイメージ: )

worm-taskbar-color

-

ファイル内容:

worm/.config/tint2/tint2rc

-

$ cd ~/Git/worm/
$ mousepad .config/tint2/tint2rc
# Change the color of the number of the selected "tag" to "orange"
# taskbar_name_active_font_color = #ffffff 100
taskbar_name_active_font_color = #f57900 100

-

画面では差分表示です:

→インストールは、「~/.config/tint2/tint2rc」に配置

-


3). 回答待ち

2023-01-15 12:30 〜

コミュニティサイトでマンパワーは足りないと思うので、気長に待ちます。

採用されなくても、何かしらの改善のキッカケになれば良いですね。 使いやすくなるはず。

-

-


まとめ

久しぶりに「プルリクエスト」しました。

「Welcome」アプリの日本語化の方は、2時間ぐらいで回答が来ました。 熱心なサイトです。

-

修正依頼はなく、マージされました。感謝。

少しでも貢献できたので良かったです。

-

反省点:

翻訳ファイルを追加しての動作確認、および「PKGBUILDS」の誤りがないか数回チェックしました。

でも、修正した「PKGBUILDS」スクリプトでインストールできるかの確認はしなかったので、それもすべきだったかな。

-

追記:

EndeavourOS の翻訳のサイトでは、PKGBUILDS の部分はバージョン管理が絡んでくる(バージョンの付け方が変更された)ので、翻訳の「更新」の場合は、プルリクエストに含めなくても良いとのことでした。なので、「PKGBUILDS」スクリプトでインストールできるかの確認は(してもいいけど)要りません。翻訳したファイルのみ送信。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

GitHub にて、「HTTPS」を使ったプルリクエストの操作を再確認〈H163〉

登録日: 2023-01-14 更新日: 2023-01-14

GitHub において、リポジトリ画面にある緑色の「Code」ボタンで、「SSH」の URL の表示が消えて、 「HTTPS」と「GitHub CLI」だけが表示されます。GitHub の変更があった?のかな。

-

GitHub の認証が 2段階認証に強化されてからは「SSH」の URL で使っていました。 「SSH」の URL が表示されないので、これからは「HTTPS」か、「GitHub CLI」での使用になります。

ただし、「HTTPS」での使用は、ダウンロードは別にして、「git push」の時に GitHub のアカウントのパスワードを使っての認証は出来ないはずです。強化後、どのような仕組みに変更されたかは未確認。

-

Xubuntu 22.04.1 LTS」に本番移行後、「git」や「SSH」接続できる環境に設定していません。 それらの準備も兼ね、自身の GitHubリポジトリに「git push」して確認してみました。

その備忘録です。

-

追記:

後でわかったのですが、GitHub のサイトで「SSH」接続の表示がなかったのは、勘違いで、単に GitHub に「サインイン」していなかったからと判明。久しぶりに使ったので忘れたみたい。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. 「GitHub」のアカウントを作成:

  2. 「リポジトリ」を作成:

  3. 「Git」コマンドのインストール:

  4. 「リポジトリ」をクローン:

  5. ソースファイルを修正:

  6. 「git push」:

  7. ブラウザで「プルリクエスト」:

  8. 参考: 「パーソナル アクセス トークン」の作成:

  9. 参考: 自身の GitHub の「リポジトリ」を「公開」 →「非公開」に変更:

  10. 参考: 「SSH」接続するときの設定:

-

「まとめ へ」

-

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS での操作:

-

自身で作成した「リポジトリ」で、プルリクエストなどの操作を確認:

-

→ファイルを追加するなら、プルリクエスト後に、自分でマージ。
編集なら、ブラウザの「えんぴつ」アイコンで編集できました。フォルダでカテゴリ分けすると良いかも。

-

リポジトリ名の横が(Private)になっていることに注目:

最近は、以前と違い、「非公開」に変更しても GitHub を「無料」で利用できます。

運用の仕方を確認するため、「公開」(Public)から「非公開」(Private)に変更しました。
ライセンスなどを気にせず、気軽に修正や画像も含めたアップロードができるのが利点。

→サインインしないと(できないと)、自分も含め見れません。

よく使うなら、ブラウザのブックマークに登録すると楽。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --

「git」コマンドと「GitHub」:

-

共有されるファイルの格納場所を「リポジトリ」と呼びます。

共有するためにサーバーに置いた「リモートリポジトリ」と、ファイルの更新のために自分のPC に置いた「ローカルリポジトリ」があります。

-

「git」コマンドは、ソースファイルなどの変更内容を管理するためのツールです。

「git」コマンドを使った「Web サービス」のひとつが「GitHub」で、 Web に Git のリポジトリを作成して、ソースコードなどの「バージョン管理」が行えます。

-

参考:

作業別Gitコマンド集

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ---

1. 「GitHub」のアカウントを作成:

-

すでに、GitHub のアカウントを持っているなら、作業は要りません。

-

GitHub のアカウントを作成:

-

1). ブラウザで、「https://github.com/login」を開きます

-

2). 「Create an account.」をクリック

→「アカウント登録」画面表示:

-

3). 「Enter your email」に、「メールアドレス」を入力:

→「Continue」をクリック

-

4). 「Create a password」に、「パスワード」を入力:

→「Continue」をクリック

-

5). 「Enter a username」に、「ユーザ名」を入力:

→「Continue」をクリック

-

6). 「Would you like to receive product updates and announcements via email?」

(お知らせなどをメールで受け取るかの確認)

→「n」

-

7). 「Verify your account」(ロボットではないかの確認)

→「検証する」をクリック

-

指示通りに選択:

→「Create account」ボタンを押せるようになります。

-

8). 「Create account」ボタンをクリック

→「コードの入力」待ちの画面になります。

-

9). 設定したメールアドレスにメールが送られます:

→送られてきたメールで「コード」を確認して、「コードの入力」待ちの画面に貼り付け

-

10). How many team members will be working with you?

(何人のチームメンバーがあなたと一緒に仕事をしますか?)

→任意に選択

-

11). Are you a student or teacher?

(あなたは学生ですか、教師ですか?)

選択しても、しなくてもいいです。

→「Continue」をクリック

-

12). what specific features are you interesfed in using?

(どの機能を使用しますか?)

→全てにチェック

→「Continue」をクリック

-

13). 「Free」プランと「Enterprise」プランを選択する画面:

→「Free」プランを選びました。

-

注意: 「料金プラン」により「パブリック」(公開した)リポジトリのみでしか利用出来ない機能があります。

-

14). 「ダッシュボード」が表示:

→アカウント作成完了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----

2. 自身の GitHub の「リポジトリ」を作成:

-

上記の作業の続きです。「リポジトリ」は「フォーク」したときに自動で作られるので、「プルリクエスト」するだけなら、作らなくても支障なし。

-

個人的に GitHub の操作の確認ができるように、ひとつ作りました。

-

リポジトリを作成:

-

1). 左にある「Create repository」(リポジトリ作成)ボタンをクリック

→「リポジトリの情報入力」画面が表示:

-

2). 「repository name」に、リポジトリの名前を入力

リポジトリ名は、ソースコードを格納するリポジトリの URL に含まれます。

-

3). 「Description」に、リポジトリの説明を入力

-

4). 「リポジトリ」の種類を選択:
  • 「Public」 : Web に公開されます。誰でも閲覧でき、公開する内容によって、リスクや責任が伴いますが、情報を共有できるのが利点。

  • 「Private 」: 公開せずに個人で気軽に使いたい場合や、公開しない開発をチームで行う場合に選択。

リポジトリの作成後にリポジトリに招待する形で、他のユーザの追加ができます。

注意: 「料金プラン」により「パブリック」(公開した)リポジトリのみでしか利用出来ない機能があります。

-

5). リポジトリに「README」を追加するかを選択:

README.md は、プロジェクトの概要や使い方などの説明を記述しておく、GitHub 形式の「マークダウン」で書かれたテキストファイルです。(形式とは、サポートされている見え方の決まりごと)

リポジトリを開いたときに、README.md が表示されます。

→追加したいので、チェック

-

6). 「.gitignore」ファイルを追加するかを選択:

「.gitignore」は git にコミットして管理したくないファイルを記述するためのファイルです。

いろいろなフレームワークなどの初期テンプレートを選ぶことが可能です。

→追加しないので、「None」

-

7). 公開する場合は、ソースコードの「ライセンス」を選択:

→「None」

-

8). 「Create Repository」ボタンをクリック

-

9). 自身のアカウントのGitHub の「リポジトリ」が作成されました:

入力したリポジトリ名で「リポジトリ」が作成されました。

(設定でチェックしたので)README ファイルが表示されます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - -----

3. 「Git」コマンドのインストール:

-

クローンを作成するPC で作業しました。

-

1). Git のインストール:

$ sudo apt install git
:
提案パッケージ:
  git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk
  gitweb git-cvs git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
  git git-man liberror-perl

GUI で git log を表示できる「gitk」は一緒に入らないみたい。あると学習に便利。

-

2). インストールされたかの確認:

$ git --version
git version 2.34.1

-

3). Git の初期設定:

やり方:

$ git config --global user.name "GitHub に登録したユーザ名"
$ git config --global user.email "GitHub に登録したメールアドレス"

-

設定:

$ git config --global user.name "xxx1234"
$ git config --global user.email "xxx1234@xmail.com"

→「--global」を付けないと記録されず、その場限りの設定になります。
なので、その都度設定が必要です。

-

4). Git の初期設定の確認:

$ git config -l
user.name=xxx1234
user.email=xxx1234@xmail.com

→「-l」は、小文字のエル

-

5). 参考: 下記の設定ファイルが作成されました:

$ cat ~/.gitconfig
[user]
    name = xxx1234
    email = xxx1234@xmail.com
[core]
    whitespace = cr-at-eol

-

参考: 「whitespace = cr-at-eol」は、下記のコマンドで追記しました:

$ git config --global core.whitespace cr-at-eol

→git diff で変更箇所の行末に「^M」が表示されるときの回避策です。

-

6). GitHub の「サインイン」時に、GitHub のアカウントの作成で指定した「パスワード」が必要です:

メモしておきます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

4. 作成した、自身の GitHub の「リポジトリ」で、クローン:

-

いきなり本番で「git」コマンドを使うのは難しいしリスクが高いので、 自身の GitHub の「リポジトリ」を使って、クローンやアップロードなどの「リポジトリ」操作を確認:

-

今回は、「git push」する時に認証がどうなるのかに注目。

うまく動かないときは、「GitHub CLI」などへの移行等が必要かも。

-

1). プルリクエスト用のフォルダを準備:

フォルダ名は任意です:

$ mkdir -p  ~/Git
$ cd ~/Git/
~/Git$

→フォルダ名はプロンプトに含まれるので、短くてわかりやすい名前にしました。

-

2). 対象の「GitHubリポジトリ」(GitHub の該当サイト)をブラウザで開きました:

→作成した、自身の GitHub の「リポジトリ」で確認してください:

-

例: GitHub: FuRuYa7/furuichi (現在は非公開なので表示されません)

-

参考: 自身でなく、他人の「リポジトリ」に「プルリクエスト」する場合は、

できるだけリスクを避けるため、

GitHub にサインイン後、対象の「リポジトリ」のURL を開いて、右上の「Fork」ボタンをクリック

フォークされた「リポジトリ」が、自身のリポジトリとして自動で作成され、それが開くので、そこで作業します。

→フォークしておけば、最悪は、フォークされた「リポジトリ」を削除するだけで済みます。

-

3). 「HTTPS」を使い、Clone する時のURL を確認:

オンライン画面にある緑色の「Code」ボタンをクリック

「Local」タブの、「HTTPS」をクリック

「コピー」アイコンをクリックすると、クリップボードに URL がコピーされます。

必要なところで右クリック →貼付け:

https://github.com/FuRuYa7/furuichi.git

-

4). 最新のソースをローカルに入手:

URL に、上記でコピーした、自身の GitHub の「リポジトリ」の URL を貼付けます:

$ cd ~/Git/
$ git clone https://github.com/FuRuYa7/furuichi.git
:
Cloning into 'furuichi'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Receiving objects: 100% (26/26), 4.98 KiB | 4.98 MiB/s, done.
Resolving deltas: 100% (4/4), done.

-

参考: 「非公開」のリポジトリをクローンした場合:
$ cd ~/Git/
$ git clone https://github.com/FuRuYa7/furuichi.git
:
Cloning into 'furuichi'...
Username for 'https://github.com': FuRuYa7
Password for 'https://FuRuYa7@github.com': 

→パスワードの入力待ち:

remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/FuRuYa7/furuichi.git/'

→ユーザ名、または、パスワードを間違えると終了

もしかしたら、GitHub のパスワードではダメで、「パーソナル アクセス トークン」(後述)が必要かもしれません。

-

5). クローンで作成された、ディレクトリに移動:

$ cd ~/Git/furuichi/

$ ls -a
:
.  ..  .git  README.md  git-test.md

→デフォルトは「README.md」のみ。「git-test.md」は以前追加したファイルです。

-

6). ブランチの確認:

$ git status
:
ブランチ master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

→master ブランチで空です。

-

7). ブランチ一覧を表示:

$ git branch
:
* master

-

8). タグの一覧を表示:

$ git tag
$

→タグはなし。タグはリリース管理しやすくするためのもの。

-

9). プルリクエスト用に Branch「develop」を作成して、同時にチェックアウト:

自身の GitHub の「リポジトリ」で作業するのなら、本来は要りません。

今回は、他人の「リポジトリ」(フォークで持ってきた「リポジトリ」)に「プルリクエスト」するときの操作として、行いました:

-

ここで作成するブランチ名は任意(慣習名)です:

$ git checkout -b develop
:
Switched to a new branch 'develop'

-

10). ブランチの確認:

$ git branch
:
* develop
  master

→アクセスできるところ(ブランチ)が変わりました。
「HEAD detached」になっていないことを確認。 ←ポインタがズレて良好ではない状態

-

11). ステータスの確認:

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→どのファイルも修正されていない状態。

-

12). ログ(コミット履歴)の確認:

$ git log
:
commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (HEAD -> develop, origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>  ←(ブラウザ上で直接編集)
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.

: (省略)

commit 3bedd645c9f8c6fd207353232e4be3b8da282385
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>  ←(ブラウザ上で直接編集)
Date:   Mon Dec 24 12:59:27 2018 +0900

    Update README.md
    
    test commit.

commit 9f9ae5b0f35be0ce9458ea71e243febc852a2bf9
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Mon Dec 24 11:12:31 2018 +0900

    Initial commit
(END)

「q」で表示が終了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

5. ソースファイルを修正:

-


1). ソースを修正:

  • 変更(diff)を少なくするため、さわるファイルは最小限にします。

-

今回、修正したのは 3つのファイルです。日時で更新を確認:
$ git status
:
ブランチ develop
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   README.md
    modified:   git-test.md

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)
    markdown.nanorc

no changes added to commit (use "git add" and/or "git commit -a")

→3つのファイルが赤色で表示:

modified:   README.md(修正)
modified:   git-test.md(修正)
markdown.nanorc(新規追加)

→修正したファイルがあれば OK。 それ以外のファイルがあるときはエディタの設定に注意。エディタで自動で作られたテンポラリやバックアップがあったら削除します。

-

2). 修正内容の確認:

$ git diff
:
diff --git a/README.md b/README.md
index ab33fe8..65cd1bb 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 ---
 2018-12-24  運用開始
 
+2023-01-10  GitHub で「SSH」タブの表示がなくなってからの、プルリクエストを再確認
  
diff --git a/git-test.md b/git-test.md
index ea21f6b..a30b2df 100644
--- a/git-test.md
+++ b/git-test.md
@@ -1,45 +1,43 @@
-# Hello World (furuichi)

 : (省略)

(END)

「q」で表示が終了

→新規ファイルの「markdown.nanorc」は、追跡されていないファイル(git の管理外)なので、変更があっても差分は表示されません。

-

3). 参考: git diff で行末に「^M」表示する場合の対処:

例:

+#include <QPainterPath>^M

追加した行にゴミが付きます。CR コードだと思いますが、削除できず。

-

対処:

行末のキャリッジリターンを許容:

$ git config --global core.whitespace cr-at-eol

-

4). 早めに、コミットで使う「英文」を考えておきます:

表題:
Checking pull requests after the "SSH" tab disappears on GitHub:

和訳: GitHub で「SSH」タブが消えた後のプルリクエストの確認:

-

後で付け加える、コメントの内容:

今回は、なし

-


5). 編集したファイルを add:

  • 「編集エリア」(working tree) から「ステージングエリア」に移します。
$ git add -A

もしくは、

$ git add --all

-

$ git status
:
ブランチ develop
コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
    modified:   README.md
    modified:   git-test.md
    new file:   markdown.nanorc

→すべてのファイル名が緑色に変わりました。

-

参考: 直前に操作した、「git add」をやり直す場合:
$ git restore --staged README.md git-test.md markdown.nanorc

→やり直すファイルを指定できます。

-

6). ステージングエリアでの差分の表示:

$ git diff --cached

「q」で表示を終了

-

7). 編集したファイルを commit:

「ステージングエリア」から「本番エリア」に移します:
$ git commit -m 'Checking pull requests after the "SSH" tab disappears on GitHub:'
:
[develop 99436ce] Checking pull requests after the "SSH" tab disappears on GitHub:
 3 files changed, 98 insertions(+), 45 deletions(-)
 rewrite git-test.md (97%)
 create mode 100644 markdown.nanorc

→「-m」で、準備した「英文」を加えてコミットしました。

-

「-m」でメッセージを付加しない場合は、設定されているエディタ(vi または nano)が起動します。

-

8). コミットの履歴を確認:

$ git log
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>      ←(今回のコミット)
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub: ←(コミットの英文)

commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.
:

「q」で表示を終了

-


9). 最新のコミットと差分を 1件だけ表示:

$ git show
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub:

diff --git a/README.md b/README.md
index ab33fe8..65cd1bb 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
 ---
 2018-12-24  運用開始
 
+2023-01-10  GitHub で「SSH」タブの表示がなくなってからの、プルリクエストを再確認

「q」で表示を終了

-

$ git status
:
ブランチ develop
nothing to commit, working tree clean

→コミットすると、表示が消えます。

-

$ git branch
:
* develop
  master

-

10). GitHub アカウントにサインイン

ブラウザで、下記が開いているはず:

対象の「GitHubリポジトリ」(GitHub の該当サイト)をフォークした、自身の「リポジトリ」:

例:

GitHub: FuRuYa7/furuichi

→現在は「非公開」なので、サインインしていないと見れないと思います。

-

右上の「横3本線」アイコンをクリック →「Sign in」→サインイン画面:

GitHub アカウントのメールアドレスとパスワードを入力

→ 「Device Verification Code」が表示されました。

メールアドレスに送信されたコードを、上記に貼り付けると、サインインできました。(2段階認証)

-

→サインインされると、右上の「横3本線」アイコンの部分に自分が登録した、自分のアイコン(アバター)が表示されます。(上記の画像)

-


11). ブランチ「develop」から、GitHub上のブランチ「origin」に push:

ローカルで編集したリポジトリをオンライン上に渡します:

$ git push origin develop
:
Username for 'https://github.com': xxx1234  ←(ユーザ名入力)
Password for 'https://xxx1234@github.com':  ←(GitHub アカウントのパスワード入力)
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/FuRuYa7/furuichi.git/'

-

和訳:

リモート: 2021年 8月13日にパスワード認証のサポートが削除されました。
リモート: 現在推奨されている認証モードについては、https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls を参照してください。
致命的: 'https://github.com/FuRuYa7/furuichi.git/' の認証に失敗しました

→やっぱり、認証するときに失敗しました。

-


12). 対応のひとつとして、「パーソナル アクセス トークン」を作成しました:

対応には、複数のやり方があります。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

6-1. 「パーソナル アクセス トークン」の作成

-

個人的なリポジトリであれば、「パーソナル アクセス トークン」を使うときは、強化された「fine-grained personal access token」が推奨みたい。

今回は、「プルリクエスト」のやり方の確認が目的です。なので、ほとんどの他人のリポジトリで問題なく使える「personal access token (classic)」にて、「パーソナル アクセス トークン」作成しました。

-


1). 現在推奨されている認証モード の記述を確認:

抜粋:

コマンド ラインで HTTPS URL を使用してリモート リポジトリに git clone、git fetch、git pull、git push を実行した場合、Git では GitHub のユーザー名とパスワードが要求されます。

Git からパスワードの入力するダイアログが表示されたら、「personal access token」を入力します。

または、「Git Credential Manager 」などの資格情報ヘルパーを使用することもできます。

より安全な認証方法を優先して、Git のパスワードベースの認証が削除されました。

詳しくは、「personal access token の作成 」を参照してください。

 

SSH を使用したくてもポート 22 で接続できない場合は、HTTPS ポートを介する SSH を使用できる場合があります。 詳細については、「HTTPS ポートを介して SSH を使用する 」を参照してください。

-


2). 「パーソナル アクセス トークン」の作成:

personal access token の作成 」の記述を参照:

コマンド ラインまたは API で、パスワードの代わりに使用する「personal access token」を作成できます。

「personal access token」はパスワードと同じ扱いが必要です。

なので、コマンド ラインから GitHub にアクセスするには、「personal access token」を作成する代わりに、 「GitHub CLI」または「Git Credential Manager」を使用することを検討してください。

GitHub では、可能な限り、「personal access tokens (classic) 」ではなく「fine-grained personal access token 」を使用することをお勧めします。

 

ただし、自分、または自分がメンバーではない組織によって所有されていないパブリック リポジトリに対する書き込みアクセス権を持つのは、「personal access tokens (classic) 」のみです。

→他のリポジトリに、プルリクエストする場合は、今のところ「personal access tokens (classic)」を使うことになりそう。

-


3). personal access token (classic) の作成

-

(1). 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に「Settings」(設定)をクリック

-

(2). 左側のサイドバーの一番下にある、「Developer settings」(開発者向け設定)をクリック

-

(3). 左側のサイドバーの「Personal access tokens」で、「Tokens (classic)」(トークン (クラシック))を選択

-

(4). 「Generate new token」(新しいトークンの生成)を選び、「Generate new token (classic)」(新しいトークン (クラシック))をクリック

-

(5). トークンにわかりやすい名前を付けます。

-

任意の名前:

→「My github-furuichi」

-

複数持てるので、一覧に表示されたときに、使用目的がわかりやすい名前にします。

-

(6). トークンに有効期限を設定:

「Expiration」(有効期限)ドロップダウン メニューを選択し、既定をクリックするか、カレンダー ピッカーを使って選択

→「30 Days」

-

もっと短い「7 Days」が安心。「プルリクエスト」で使うので期限がわからないので、ちょっと長めにしました。 期限が切れたら新しく作ればいいだけです。

-

(7). トークンに付与する「scopes」(スコープ)にチェック:

トークンを使用してコマンドラインからリポジトリにアクセスするには、 「REPO」(リポジトリ)にチェックしました。

→スコープが割り当てられていないトークンでは、パブリック情報にのみアクセスできます。

-


4). 「Generate token」(トークンの生成)をクリック

英文が表示

和訳:

「パーソナル アクセス トークンを今すぐコピーしてください。もう見ることはできません!」表示:

→右下に「乱数」が表示されます。

-


5). 「コピー」アイコンをクリック

-


6). 使いたいところで右クリック →貼付けできます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

6-2. 「git push」で「パーソナル アクセス トークン」を使う:

-

アップロードのため「git push」をするときに、GitHub のアカウントのパスワードを聞いてきます。

HTTPS の URL でクローンを作成した場合、GitHub のパスワードを入力していましたが、セキュリティ強化で認識されなくなりました。

-

その代わりに、前の項番で作成した「パーソナル アクセス トークン」(乱数)を入力(貼付け)することで、認証が行われます。

-

今回は、「プルリクエスト」の操作の確認が目的です。

ほとんどのリポジトリで問題なく使える「personal access token (classic)」を使って作成した「パーソナル アクセス トークン」を使いました:

推奨は、「GitHub CLI」または「Git Credential Manager」を使うことみたい。

-


1). ブランチ「develop」から、GitHub 上のブランチ「origin」に push:

ローカルで編集したリポジトリをオンライン上に渡します:

$ git push origin develop
:
Username for 'https://github.com': xxx1234  ←(ユーザ名入力)
Password for 'https://xxx1234@github.com':   ←(生成したパーソナル アクセス トークンを入力)
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 2 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.87 KiB | 1.87 MiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'develop' on GitHub by visiting:
remote:      https://github.com/FuRuYa7/furuichi/pull/new/develop
remote: 
To https://github.com/FuRuYa7/furuichi.git
 * [new branch]      develop -> develop

-


2). コミット履歴を確認:

$ git log
:
commit 99436ce8c816c611e6f1971682481c1769287758 (HEAD -> develop, origin/develop)
Author: FuRuYa7 <xxx1234@xmail.com>
Date:   Tue Jan 10 02:40:27 2023 +0900

    Checking pull requests after the "SSH" tab disappears on GitHub:

commit a7eff0d56ff01b596aa5156c357965e0e0b36266 (origin/master, origin/HEAD, master)
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Tue Dec 25 13:16:56 2018 +0900

    Update git-test.md
    
    Markdown test.

commit d8ee49cb599832cc069f055e1d935eceb2093931
Author: FuRuYa7 <46095926+FuRuYa7@users.noreply.github.com>
Date:   Mon Dec 24 21:56:47 2018 +0900
:

スペースで改ページ。
→半角の「q」で表示が終了。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

7. ブラウザの GitHub 上で、「プルリクエスト」:

-


1). ブラウザで下記のサイトを開きます:

対象の「GitHubリポジトリ」(GitHub の該当サイト)をフォークした、自身の「リポジトリ」:

→ブックマークを登録しておけば楽です。

-


2). 右中(develop の行の右)の大きな緑色の「Compare & pull request」ボタンをクリック

→対象の、(Fork ボタンを押したときの)本家のリポジトリのサイトに自動で切り替わるので注意。

-

これ以降は、自身のリポジトリではないので、操作に注意。

-


3). 画面中央に表示される、Base: が「master」かを確認。

base: master ← compare: develop Able to merge. These branches can be automatically merged.

和訳: base:master ← compare:develop マージ可能。これらのブランチは自動的にマージできます。

-


4). 表示されているコメント欄に記入:

Checking pull requests after the "SSH" tab disappears on GitHub:

和訳: GitHub で「SSH」タブが消えた後のプル リクエストの確認:(コミットしたときの表題)

→緑色の「Create pull request」ボタンをクリック

-


5). 表題が「 Checking pull requests after the "SSH" tab disappears on GitHub: #2 」になりました:

→ブラウザのブックマークに登録しておくと、コミットの修正のときに便利です。

-


6). 普段は、これ以降は、対象のリポジトリのレビュー者、および管理者からのメール待ちです:

まったく、何も来ないか、

コミット内容の修正依頼、もしくは、うまく行けば、承認されて「マージ」したというメールが来ます。

-

参考:

「プルリクエスト」がクローズされていないと、次のコミットが、こちらのプルリクエストの内容の追加として認識されます。つまり、やり直しての繰り返しがしやすい仕組みです。

なので、(熱心なサイトだと)承認(マージ)されるまで、修正してのコミットを何回もやり直すことになります。「プルリクエスト」するなら、自身に余裕があるときがベターかも。

-

また、自分のスキル以上のことを要求されることもあるので、わからないときは謙虚な姿勢でいれば、修正を繰り返すことで、自身のスキルも上がります。

-


7). 参考: レビュー者、および管理者の作業:

-

今回は、自身の GitHubリポジトリの修正なので、

レビュー者、および管理者は「自分」です:

-

(1). 緑色の「Merge pull request」をクリックして、マージ:

→「Confirm merge」(マージを確認)をクリック

→「Pull request successfully merged and closed」

-

(2). 「プルリクエスト」が正常にマージされ、クローズされました

-

→「You’re all set—the develop branch can be safely deleted. 」

和訳: これで準備は完了です。develop ブランチを安全に削除できます。

-

(3). 「Delete branch 」をクリック

develop ブランチが削除されました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

8. 参考: 自身の GitHub の「リポジトリ」を「公開」 →「非公開」に変更:

-

現在は、無料で「非公開」のリポジトリが作成できますが、 こちらのリポジトリを作成した頃は、「公開」しないとリポジトリが無料で作成できませんでした。

閲覧者もいないので、気にせず自由にアップできるように「非公開」に変更しました。

→「非公開」に変更すると、サインインしないと「リポジトリ」は見れなくなるはずです。

-


1). 「非公開」に変更する、自分で作成したサイトを開きました:

例:

GitHub: FuRuYa7/furuichi (Public)

→下記のサインインが済んでいるので、自分のアイコン(アバター)が表示されています。

-


2). GitHub にサインイン:

-


3). リポジトリの設定を変更するので、サイトの右上の、Watch、Fork、Star、のカウントがないことを確認:

閲覧やフォークされていないことを確認:

Watch(1)、Fork(0)、Star(0)、の表示です。

Watch は自分がカウントされているので「1」です。

-


4). サイトの右上の「横3点」(Settings) アイコンをクリック→「Settings」

↓ 下の方にスクロール:

-


5). Danger Zone:

「Change visibility」(リポジトリの可視性を変更)をクリック

→「Change to private」を選択

-

「I want to make this repository private」をクリック

→警告が表示:

和訳:

このリポジトリを非公開にすると、このリポジトリにアクセスできなくなるユーザに
関連付けられている Star と Watch が削除され、これらのカウントが完全に
消去される可能性があります。

将来このリポジトリを公開することにした場合、これらの Star と Watch を
復元することはできず、リポジトリのランキングに影響します。
依存関係グラフと Dependabot アラートは、このリポジトリで読み取り専用分析を
実行する権限で有効なままになります。
コードのスキャンができなくなります。
現在のフォークは公開されたままになり、このリポジトリから切り離されます。

→「I have read and understand these effets」(理解しました)をクリック

-


6). 「Make this repository private」(このリポジトリを非公開にする)をクリック

→パスワードを入力

→「Confirm」(確認)をクリック

-


7). 「Settings」画面に戻りました:

-


8). GitHub からサインアウト:

-


9). 「非公開」にした、先ほどのサイトが開けるか確認:

例:

GitHub: FuRuYa7/furuichi (Public)

-

→「404」エラー:

「非公開」に設定したので、確認できません。

-


10). 右上の「横3本線」アイコンをクリック→「Sign in」→「Sign in to GitHub」画面:

サインインにて、

GitHub: FuRuYa7/furuichi (Private) が開きました。

-

リポジトリ名のところに「Private」の表示があります。見た目の違いはそれくらい。

-


11). あれっ、緑色の「Code」ボタンをクリックすると、「Local」タブに「SSH」が表示されました:

→何かの条件で表示されるみたい。

-


12). 「SSH」が表示されなかったのは、GitHub に「サインイン」していなかったからと判明:

→久しぶりの GitHub の操作だったので、「SSH」が表示されなくなったと勘違い。

-

ちなみに、「SSH」の表示があっても、「SSH」接続のための設定をしないと使えません:

-

参考:「SSH」接続するときの設定:

(初心者向け)GitHubアカウントにターミナルでログイン(SSH接続)する

→ 使うディストリビューションで、一度設定すればいいだけ。

ただし、めったにアップロードしないのなら「パーソナル アクセス トークン」の作成が楽。

-

-


まとめ

GitHub のサイトで「SSH」接続の表示がなかったのは、単にGitHub に「サインイン」していなかったからと判明。 気付かないものですね。

勘違いだったけど、そのおかげで「HTTPS」接続で認証が通るやり方が学べました。

また、久しぶりだった「プルリクエスト」の復習になったので、良いかな。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

「Xubuntu 22.04.1 LTS」にて「nano」をカスタマイズ〈H162-3〉

登録日: 2023-01-05 更新日: 2023-01-08

前回、「Boxes」のゲストOS の「EndeavourOS (i3-wm)」(Arch 系)にて、一般的なキー定義に「nano」をカスタマイズしたら、使い勝手が良くなりました。

今回は、他のディストリビューションでもできるか、ホストOS の「Xubuntu 22.04.1 」(Ubuntu 系)で試しました。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

前回の作業:

「EndeavourOS」(i3-wm) にて「nano」をカスタマイズ〈H162-2〉

-

参考: 「nano」の情報:

  1. 「nano」を起動する時のオプション:

  2. 「nano」の「ヘルプ」表示:

  3. 「nano」のデフォルトのショートカットキー:

  4. 「一般的なキー」にカスタマイズしたときのショートカットキー:

  5. 「nano」のデフォルトの設定ファイル(日本語のコメント行付き):

  6. 「nano」を使うときの留意点:

-

今回の作業:

  1. GitHub の「nano」の追加のハイライト定義ファイルをインストール:

  2. 追加のハイライト定義を使って、「nano」を「一般的な」キー定義にカスタマイズする場合:

  3. カスタマイズした「nano」で動作確認:

  4. 「nano」を「デフォルトの設定」に戻したい場合:

  5. 追加のハイライト定義を使わずに、「一般的な」キー定義にカスタマイズする場合:

  6. 個人的な色使いの「markdown」の定義ファイルと、「カスタマイズ」:

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS で、「Boxes」を使う:

-

ボックスの「EndeavourOS」(i3-wm) にて「nano」を使用:

-

(1). 起動した「nano」の画面:

→ハイライト表示の定義ファイルをすべて読み込んでいるので、 設定ファイルが色分けされて見やすいです。

-

カスタマイズしたので、ガイド行の表示が、一般的なキーに変わっていることに注目:

Ctrl + O オー で開いて、Ctrl + W で保存し、Ctrl + Q で終了。「ヘルプ表示」はCtrl + H です。

-

(2). 「i3-wm」はタイリングで「端末」画面を並べて使えるので、効率が上がります:

アプリ内で「コマンドを実行」できますが、「端末」画面をタイリングで並べた方が便利です。結果をマウスで範囲指定して、中央ボタンで貼付けできます。(カットバッファでなく、クリップボードが使われます)

-

ホストOS の「Xubuntu 22.04.1 」にて「nano」を使用:

-

ウィンドウのタイトルバーをつかんで、4隅にぶつけると、同じようにタイリングができます:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

ホストOS : Xubuntu 22.04.1 LTS

-

現在のバージョンを表示:

2023-01-08 現在

カーネル:

$ uname -r
5.15.0-57-generic

-

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

→ひとつ前のリリースを使う、安定志向のポイントリリース版(延命版)です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

テキストエディタ「nano」について:

-

公式サイト:

The GNU nano homepage

-

「端末」画面で実行される CUI のエディタ(vim 等)に慣れていなくても、使えるのが利点です:

起動するだけで、すぐに文字入力が可能になり、矢印キーでカーソルの移動ができます。 画面の下にあるガイド行で、主要な(統一感がなく、クセが強めの)キー割当てが表示されます。 たぶん、覚えられないから逆に、ガイド行が生まれたのだろうと思います。

-

オンラインマニュアル:

Online Manual

-

現在のバージョン:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

-

$ nano --version
 GNU nano バージョン 6.2
 (C) 1999-2011, 2013-2022 Free Software Foundation, Inc.
 (C) 2014-2022 nano への貢献者たち
 コンパイルオプション: --disable-libmagic --enable-utf8

→最新は「7.1」なので、少し遅れぎみ。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

1. 現在の状態を確認:

-

1). インストールされているかの確認:

$ apt list nano* --installed
:
nano/jammy,now 6.2-1 amd64 [インストール済み、自動]

→「nano」のみインストールされています。依存で入ったみたい。

-

2). カスタマイズ前の「nano」を起動:

$ nano

-

→クセが強めの「ガイド行」に注目。

-

3). 大元の設定ファイル:

$ ls /etc/nano*
:
/etc/nanorc

→設定を修正するときは、こちらのファイルはさわらずに、下記のファイルを作成して修正します。

-

4). 個人的な設定ファイル:

$ ls ~/.nanorc
:
ls: /home/ubn/.nanorc: そのようなファイルやディレクトリはありません

→ホームに設定ファイルはありませんでした。
つまり、「nano」はデフォルトの設定で動いているということ。

-

5). 「nano」の基本の構文(強調表示)ファイル:

プログラム言語別のハイライト表示の定義:

「nano」のインストールで一緒に入ります。

-

$ ls /usr/share/nano/*.nanorc
:
/usr/share/nano/asm.nanorc
/usr/share/nano/autoconf.nanorc
/usr/share/nano/awk.nanorc
/usr/share/nano/c.nanorc
/usr/share/nano/changelog.nanorc
/usr/share/nano/cmake.nanorc
/usr/share/nano/css.nanorc
/usr/share/nano/debian.nanorc (-> debian/debian.nanorc)
/usr/share/nano/default.nanorc
/usr/share/nano/elisp.nanorc
/usr/share/nano/email.nanorc
/usr/share/nano/go.nanorc
/usr/share/nano/groff.nanorc
/usr/share/nano/guile.nanorc
/usr/share/nano/haskell.nanorc ( -> extra/haskell.nanorc)
/usr/share/nano/html.nanorc
/usr/share/nano/java.nanorc
/usr/share/nano/javascript.nanorc
/usr/share/nano/json.nanorc
/usr/share/nano/lua.nanorc
/usr/share/nano/makefile.nanorc
/usr/share/nano/man.nanorc
/usr/share/nano/markdown.nanorc
/usr/share/nano/nanohelp.nanorc
/usr/share/nano/nanorc.nanorc
/usr/share/nano/nftables.nanorc
/usr/share/nano/objc.nanorc
/usr/share/nano/ocaml.nanorc
/usr/share/nano/patch.nanorc
/usr/share/nano/perl.nanorc
/usr/share/nano/php.nanorc
/usr/share/nano/po.nanorc
/usr/share/nano/python.nanorc
/usr/share/nano/ruby.nanorc
/usr/share/nano/rust.nanorc
/usr/share/nano/sh.nanorc
/usr/share/nano/sql.nanorc
/usr/share/nano/tcl.nanorc
/usr/share/nano/tex.nanorc
/usr/share/nano/texinfo.nanorc
/usr/share/nano/xml.nanorc
/usr/share/nano/yaml.nanorc

-

$ ls /usr/share/nano/debian/
:
debian.nanorc

→リンクされてます。

-

$ ls /usr/share/nano/extra/
:
ada.nanorc      haskell.nanorc  spec.nanorc
fortran.nanorc  povray.nanorc

→リンクされてます。

-

6). 「nano」のオプションの構文(強調表示)ファイル:

ハイライト表示の定義ファイル:

-

$ ls /usr/share/nano-syntax-highlighting/*.nanorc
:
ls: '/usr/share/nano-syntax-highlighting/*.nanorc' にアクセスできません: 
そのようなファイルやディレクトリはありません

-

7). 「nano-syntax-highlighting」がインストールできるか確認:

$ apt search syntax | grep nano
:
nano/jammy,now 6.2-1 amd64 [インストール済み、自動]

→「nano」のオプションの定義ファイルはリポジトリに登録されていないみたい。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

2. 「nano」の既存の設定ファイルをバックアップ:

-

$ cp ~/.nanorc ~/.nanorc-ORG
:
cp: '/home/ubn/.nanorc' を stat できません: 
そのようなファイルやディレクトリはありません

→すでにカスタマイズしている場合があるので、それに備えて退避。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

3. 参考: 「nano-syntax-highlighting」構文(強調表示)ファイルのインストール

-

追加の定義ファイルなので、無くても色分けされないだけです。適用は好みです。

-

「nano」のインストールで「基本の定義ファイル」はインストールされますが、

追加の、「nano-syntax-highlighting」定義ファイルはインストールされません。

-

1). 参考: Arch 系の場合:

-

リポジトリからインストール:
$ sudo pacman -S nano-syntax-highlighting

→インストール先のフォルダを確認。

設定に記述されているフォルダ名が違う場合は、修正が必要です。たぶん、「~/.nano/*.nanorc」?

-

2). Ubuntu 系の場合:

-

GitHub からダウンロードしてインストール:

参考:

GitHub: scopatz/nanorc

-

(1). 「wget」をインストール:
$ sudo apt install wget
:
wget はすでに最新バージョン (1.21.2-2ubuntu1) です。

-

(2). インストール用のスクリプトをダウンロードすると、自動でインストールが実行:
$ wget https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh -O- | sh
:
--2023-01-04 20:54:27--  https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh

→「install.sh」が実行され、GitHub にある、すべての「.nanorc」ファイルが「~/.nano」に自動的に解凍されました。

-

(3). インストール完了:
$  ls ~/.nano/
:
AUTHORS.rst          haskell.nanorc     pov.nanorc
Dockerfile.nanorc    hcl.nanorc         powershell.nanorc
Rnw.nanorc           html.j2.nanorc     privoxy.nanorc
apacheconf.nanorc    html.nanorc        prolog.nanorc
arduino.nanorc       i3.nanorc          properties.nanorc
asciidoc.nanorc      ical.nanorc        pug.nanorc
asm.nanorc           ini.nanorc         puppet.nanorc
awk.nanorc           inputrc.nanorc     python.nanorc
batch.nanorc         install.sh         reST.nanorc
c.nanorc             jade.nanorc        readme.md
clojure.nanorc       java.nanorc        rego.nanorc
cmake.nanorc         javascript.nanorc  rever.xsh
coffeescript.nanorc  js.nanorc          rpmspec.nanorc
colortest.nanorc     json.nanorc        ruby.nanorc
conf.nanorc          keymap.nanorc      rust.nanorc
conky.nanorc         kickstart.nanorc   scala.nanorc
creole.nanorc        kotlin.nanorc      sed.nanorc
csh.nanorc           ledger.nanorc      sh.nanorc
csharp.nanorc        license            shellcheck.sh
css.nanorc           lisp.nanorc        sieve.nanorc
csv.nanorc           lua.nanorc         sls.nanorc
cython.nanorc        m3u.nanorc         sparql.nanorc
dot.nanorc           makefile.nanorc    sql.nanorc
dotenv.nanorc        man.nanorc         svn.nanorc
elixir.nanorc        markdown.nanorc    swift.nanorc
email.nanorc         moonscript.nanorc  systemd.nanorc
erb.nanorc           mpdconf.nanorc     tcl.nanorc
etc-hosts.nanorc     mutt.nanorc        tex.nanorc
fish.nanorc          nanorc             toml.nanorc
fortran.nanorc       nanorc.nanorc      ts.nanorc
fsharp.nanorc        nginx.nanorc       twig.nanorc
gemini.nanorc        nmap.nanorc        vala.nanorc
genie.nanorc         ocaml.nanorc       verilog.nanorc
gentoo.nanorc        octave.nanorc      vi.nanorc
git.nanorc           patch.nanorc       x11basic.nanorc
gitcommit.nanorc     peg.nanorc         xml.nanorc
glsl.nanorc          perl.nanorc        xresources.nanorc
go.nanorc            perl6.nanorc       yaml.nanorc
gophermap.nanorc     php.nanorc         yum.nanorc
gradle.nanorc        pkg-config.nanorc  zig.nanorc
groff.nanorc         pkgbuild.nanorc    zsh.nanorc
haml.nanorc          po.nanorc          zshrc.nanorc

→多くの定義ファイルが追加されました。

-

(4). 合わせて、ホームに設定ファイルの「~/.nanorc」が作成されました:

-

(5). 自動で作られた、設定ファイルを確認:
$  ls ~/.nanorc
:
/home/ubn/.nanorc

-

確認:

$  cat ~/.nanorc
include "~/.nano/apacheconf.nanorc"
include "~/.nano/arduino.nanorc"
include "~/.nano/asciidoc.nanorc"
include "~/.nano/asm.nanorc"
include "~/.nano/awk.nanorc"
include "~/.nano/c.nanorc"
include "~/.nano/clojure.nanorc"
include "~/.nano/cmake.nanorc"
include "~/.nano/coffeescript.nanorc"
include "~/.nano/colortest.nanorc"
include "~/.nano/conf.nanorc"
include "~/.nano/csharp.nanorc"
include "~/.nano/css.nanorc"
include "~/.nano/cython.nanorc"
include "~/.nano/dot.nanorc"
include "~/.nano/dotenv.nanorc"
include "~/.nano/email.nanorc"
include "~/.nano/Dockerfile.nanorc"
include "~/.nano/etc-hosts.nanorc"
include "~/.nano/fish.nanorc"
include "~/.nano/fortran.nanorc"
include "~/.nano/gentoo.nanorc"
include "~/.nano/git.nanorc"
include "~/.nano/gitcommit.nanorc"
include "~/.nano/glsl.nanorc"
include "~/.nano/go.nanorc"
include "~/.nano/gradle.nanorc"
include "~/.nano/groff.nanorc"
include "~/.nano/haml.nanorc"
include "~/.nano/haskell.nanorc"
include "~/.nano/html.nanorc"
include "~/.nano/html.j2.nanorc"
include "~/.nano/ical.nanorc"
include "~/.nano/ini.nanorc"
include "~/.nano/inputrc.nanorc"
include "~/.nano/jade.nanorc"
include "~/.nano/java.nanorc"
include "~/.nano/javascript.nanorc"
include "~/.nano/js.nanorc"
include "~/.nano/json.nanorc"
include "~/.nano/keymap.nanorc"
include "~/.nano/kickstart.nanorc"
include "~/.nano/kotlin.nanorc"
include "~/.nano/ledger.nanorc"
include "~/.nano/lisp.nanorc"
include "~/.nano/lua.nanorc"
include "~/.nano/makefile.nanorc"
include "~/.nano/man.nanorc"
include "~/.nano/markdown.nanorc"
include "~/.nano/mpdconf.nanorc"
include "~/.nano/mutt.nanorc"
include "~/.nano/nanorc.nanorc"
include "~/.nano/nginx.nanorc"
include "~/.nano/nmap.nanorc"
include "~/.nano/ocaml.nanorc"
include "~/.nano/patch.nanorc"
include "~/.nano/peg.nanorc"
include "~/.nano/perl.nanorc"
include "~/.nano/perl6.nanorc"
include "~/.nano/php.nanorc"
include "~/.nano/pkg-config.nanorc"
include "~/.nano/pkgbuild.nanorc"
include "~/.nano/po.nanorc"
include "~/.nano/pov.nanorc"
include "~/.nano/privoxy.nanorc"
include "~/.nano/puppet.nanorc"
include "~/.nano/pug.nanorc"
include "~/.nano/python.nanorc"
include "~/.nano/reST.nanorc"
include "~/.nano/rpmspec.nanorc"
include "~/.nano/ruby.nanorc"
include "~/.nano/rust.nanorc"
include "~/.nano/scala.nanorc"
include "~/.nano/sed.nanorc"
include "~/.nano/sh.nanorc"
include "~/.nano/sls.nanorc"
include "~/.nano/sql.nanorc"
include "~/.nano/svn.nanorc"
include "~/.nano/swift.nanorc"
include "~/.nano/systemd.nanorc"
include "~/.nano/tcl.nanorc"
include "~/.nano/tex.nanorc"
include "~/.nano/vala.nanorc"
include "~/.nano/verilog.nanorc"
include "~/.nano/vi.nanorc"
include "~/.nano/xml.nanorc"
include "~/.nano/xresources.nanorc"
include "~/.nano/yaml.nanorc"
include "~/.nano/yum.nanorc"
include "~/.nano/zsh.nanorc"

→ダウンロードした定義ファイルが設定ファイルに指定されています。 ただし、(完全ではなかったのか)いくつかは除外されています。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

4. 一般的なキー定義にカスタマイズした設定ファイル「~/.nanorc」を作成:

-


1). インストールで自動で作られた「設定ファイル」をバックアップ:

-

$ mv ~/.nanorc ~/.nanorc-Github

-


2). 設定ファイル「~/.nanorc」を作成:

使うエディタはどれでもよいです。

$ mousepad ~/.nanorc

↓ 下記をすべて貼付け:

## include ~/.nano/*.nanorc
### GitHub の最新の定義を読込:
include "~/.nano/apacheconf.nanorc"
include "~/.nano/arduino.nanorc"
include "~/.nano/asciidoc.nanorc"
include "~/.nano/asm.nanorc"
include "~/.nano/awk.nanorc"
include "~/.nano/c.nanorc"
include "~/.nano/clojure.nanorc"
include "~/.nano/cmake.nanorc"
include "~/.nano/coffeescript.nanorc"
include "~/.nano/colortest.nanorc"
include "~/.nano/conf.nanorc"
include "~/.nano/csharp.nanorc"
include "~/.nano/css.nanorc"
include "~/.nano/cython.nanorc"
include "~/.nano/dot.nanorc"
include "~/.nano/dotenv.nanorc"
include "~/.nano/email.nanorc"
include "~/.nano/Dockerfile.nanorc"
include "~/.nano/etc-hosts.nanorc"
include "~/.nano/fish.nanorc"
include "~/.nano/fortran.nanorc"
include "~/.nano/gentoo.nanorc"
include "~/.nano/git.nanorc"
include "~/.nano/gitcommit.nanorc"
include "~/.nano/glsl.nanorc"
include "~/.nano/go.nanorc"
include "~/.nano/gradle.nanorc"
include "~/.nano/groff.nanorc"
include "~/.nano/haml.nanorc"
include "~/.nano/haskell.nanorc"
include "~/.nano/html.nanorc"
include "~/.nano/html.j2.nanorc"
include "~/.nano/ical.nanorc"
include "~/.nano/ini.nanorc"
include "~/.nano/inputrc.nanorc"
include "~/.nano/jade.nanorc"
include "~/.nano/java.nanorc"
include "~/.nano/javascript.nanorc"
include "~/.nano/js.nanorc"
include "~/.nano/json.nanorc"
include "~/.nano/keymap.nanorc"
include "~/.nano/kickstart.nanorc"
include "~/.nano/kotlin.nanorc"
include "~/.nano/ledger.nanorc"
include "~/.nano/lisp.nanorc"
include "~/.nano/lua.nanorc"
include "~/.nano/makefile.nanorc"
include "~/.nano/man.nanorc"
include "~/.nano/markdown.nanorc"
include "~/.nano/mpdconf.nanorc"
include "~/.nano/mutt.nanorc"
include "~/.nano/nanorc.nanorc"
include "~/.nano/nginx.nanorc"
include "~/.nano/nmap.nanorc"
include "~/.nano/ocaml.nanorc"
include "~/.nano/patch.nanorc"
include "~/.nano/peg.nanorc"
include "~/.nano/perl.nanorc"
include "~/.nano/perl6.nanorc"
include "~/.nano/php.nanorc"
include "~/.nano/pkg-config.nanorc"
include "~/.nano/pkgbuild.nanorc"
include "~/.nano/po.nanorc"
include "~/.nano/pov.nanorc"
include "~/.nano/privoxy.nanorc"
include "~/.nano/puppet.nanorc"
include "~/.nano/pug.nanorc"
include "~/.nano/python.nanorc"
include "~/.nano/reST.nanorc"
include "~/.nano/rpmspec.nanorc"
include "~/.nano/ruby.nanorc"
include "~/.nano/rust.nanorc"
include "~/.nano/scala.nanorc"
include "~/.nano/sed.nanorc"
include "~/.nano/sh.nanorc"
include "~/.nano/sls.nanorc"
include "~/.nano/sql.nanorc"
include "~/.nano/svn.nanorc"
include "~/.nano/swift.nanorc"
include "~/.nano/systemd.nanorc"
include "~/.nano/tcl.nanorc"
include "~/.nano/tex.nanorc"
include "~/.nano/vala.nanorc"
include "~/.nano/verilog.nanorc"
include "~/.nano/vi.nanorc"
include "~/.nano/xml.nanorc"
include "~/.nano/xresources.nanorc"
include "~/.nano/yaml.nanorc"
include "~/.nano/yum.nanorc"
include "~/.nano/zsh.nanorc"

## Display line numbers to the left (and any anchors in the margin).
### 左側に行番号を表示 (および余白にアンカーを表示): 未使用
#set linenumbers

## If you would like nano to have keybindings that are more "usual":
### 「一般的な」キーバインドに変更:
bind ^X cut main
bind ^C copy main
bind ^V paste all
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
set multibuffer
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^B wherewas all
bind ^D findprevious all
bind ^R replace main
bind ^Z undo main
bind ^Y redo main
unbind ^K main
unbind ^U all
unbind ^N main
unbind ^Y all
unbind M-J main
unbind M-T main
bind ^A mark main
bind ^P location main
bind ^T gotoline main
bind ^T gotodir browser
bind ^T cutrestoffile execute
bind ^L linter execute
bind ^E execute main

-


3). nano を起動して確認:

行番号を表示すると、マウスで範囲選択時に含まれて使いづらくなるので、設定では無効にしました:

コマンド起動時に指定する方がやりやすいです。

もし、マウスを使わないならコメントを解除しても良いです。

-

行番号を表示しないとき:
$ nano

-

行番号を表示したいとき:
$ nano -l

→「-l」小文字のエル を付けて起動

-

画面下のガイド行も、ヘルプ時の内容も、設定したキーに合わせて変更されました:
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 終了        ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

→操作がわからないときは Ctrl+ H でヘルプ表示。Ctrl+ H でヘルプが閉じます。

-

^H」は、「Ctrl + H」を押します。

M-E」は、「Alt + E」を押します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

5. 一般的なキーにカスタマイズした「nano」を使って確認:

-

ショートカットキーの変化と、設定で組み込んだ構文(強調表示)ファイルが機能するかを確認。

-

1). 作業するディレクトリに移動:

$ mkdir -p  ~/ドキュメント/test
$ cd ~/ドキュメント/test/

→作業用のディレクトリを作っておくとファイル選択しやすくなります。

-

2). いつもの「Python」言語で確認:

$ nano hello.py

↓ 下記を貼付け:

print("Hello world!")

name = input('input your name: ')
message = 'Hello ' + name + ' !'
print(message)

Ctrl + W で保存:

書き込むファイル: hello.py                                                
^H ヘルプ         M-D DOS フォーマッM-A 末尾に追加    M-B バックアップファ
^C 取消           M-M Mac フォーマッM-P 先頭に追加    ^T ファイル一覧

→書き込むと、すぐにハイライト表示:

Ctrl + Q で終了

-

3). 基本の定義ファイルにない「Lisp」言語で確認:

$ nano hello.lisp

↓ 下記を貼付け:

(defun main ()
  (write-line "Hello world!"))

(sb-ext:save-lisp-and-die "hello"
                          :toplevel #'main
                          :executable t)

Ctrl + W で保存:

書き込むファイル: hello.lisp                                               
^H ヘルプ         M-D DOS フォーマッM-A 末尾に追加    M-B バックアップファ
^C 取消           M-M Mac フォーマッM-P 先頭に追加    ^T ファイル一覧

→書き込むと、すぐにハイライト表示:

Ctrl + Q で終了

-

4). 行番号付きで「nano」を起動:

$ nano -l hello.lisp

-

→バッファにファイルの内容が読み込まれました:

-

5). Ctrl + H で「ヘルプ表示」:

Ctrl + H で終了

Ctrl + Q で終了

-

6). ファイル指定なしで「nano」を起動:

$ nano

-

7). Ctrl + O オーで「ファイルを開く」(バッファに読込):

新しいバッファへ読み込むファイル [./ から]:                              
^H ヘルプ               M-F 新しいバッファ      ^X コマンドを実行
^C 取消                 M-N 変換しない          ^T ファイル一覧

-

8). Ctrl + T で「ファイル一覧」を表示:

→矢印キーで「hello.lisp」ファイルを選んで、Enter

-

ファイルが 新しいバッファ [2/2] に読み込まれました:

Alt + 「←」 で以前のバッファ [1/2] に切替えできます:

→空のままです。

-

9). Ctrl + Q でバッファを「閉じます」

バッファ [2/2] が、[1/1] で表示されました:

-

10). Ctrl + P でカーソル位置を確認できます:

カーソル位置が 2行目にあったとき、マウスで 4行目をクリックするか、範囲選択して、位置指定したつもりになります。

→Ctrl + P で表示されているのは 2行目なので、削除とかすると、予期しないところが削除されます。

-

11). Ctrl + Q で、「nano」を「終了」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

6. 参考:「nano」を起動する時のオプション:

-

「nano」のコマンドのヘルプ表示から抜粋:

-

「こちら」 を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

7. 参考:「nano」の「ヘルプ」表示:

-

「nano」アプリで「ヘルプ」表示したときの抜粋:

-

1). nano の画面にある 4つのセクション:

表示例:

-

(1). 一番上の行は、「nano のバージョン、編集中のファイル名、更新の有無」を表示。

(2). 次に、「ファイルを編集する領域」。

(3). 下から 3行目は、「重要なメッセージ」を表示。

(4). 下から 2行は、「ショートカットキー」を表示。

-

2). 「ヘルプ」画面のショートカットキーの記述について:

(^) で表記されているショートカットは、Ctrl キーを押すか、Esc キーを二回続けて押します。

(M-) で表記されているショートカットは、Alt キー、Cmd キー、Esc キーなどのメタキーを押します。

また、Esc キーを二回押した後に 000 から 255 までの十進数を入力すると、コードに対応する文字を入力できます。

代替のキーストロークは、括弧で囲っています。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

7-1 . 「デフォルト」のショートカットキー:

-

「nano」の Ctrl+G の「ヘルプ」表示からの抜粋:

-

Ctrl+G  (F1)         ヘルプを表示
Ctrl+X  (F2)         現在のバッファを閉じて nano を終了
Ctrl+O  (F3)         現在のバッファ(またはマークした範囲)をディスクへ書き込み
Ctrl+R  (Ins)        他のファイルから現在のバッファ(または新しいバッファ)に読み込み

Ctrl+W  (F6)         正規表現で文字列を前方に向かって検索
Ctrl+\  (Alt+R)      正規表現置換
Ctrl+K  (F9)         現在の行(またはマークした範囲)を切り取って、カットバッファに格納
Ctrl+U  (F10)        カットバッファの内容をカーソル位置に貼り付け

Ctrl+T               関数または外部コマンドの実行
Ctrl+J  (F4)         段落を均等割付

Ctrl+C  (F11)        カーソル位置を表示
Ctrl+/  (Alt+G)      指定位置へ移動

Alt+U                直前の操作を取り消す (undo)
Alt+E                取り消した直前の操作をやり直す (redo)

Alt+A   (Ctrl+6)     カーソル位置から始まる単語をマーク
Alt+6   (Alt+Ctrl+)  現在の行(またはマークした範囲)をコピーして、カットバッファに格納

Alt+]                対応する括弧へ移動

Ctrl+Q               正規表現で文字列を後方に向かって検索
Alt+Q                次を検索(前方へ)
Alt+W                次を検索(後方へ)

Ctrl+B  (◂)          前の文字へ戻る
Ctrl+F  (▸)          次の文字へ進む
Ctrl+◂  (Alt+Space)  前の単語へ戻る
Ctrl+▸  (Ctrl+Space) 次の単語へ進む
Ctrl+A  (Home)       現在行の先頭へ移動
Ctrl+E  (End)        現在行の末尾へ移動

Ctrl+P  (▴)          前の行へ移動
Ctrl+N  (▾)          次の行へ移動
Alt+▴   (Alt+-)      文中のカーソル位置を変えずに一行上にスクロール
Alt+▾   (Alt++)      文中のカーソル位置を変えずに一行下にスクロール

Ctrl+▴  (Alt+7)      前のテキストブロックへ移動
Ctrl+▾  (Alt+8)      次のテキストブロックへ移動
Alt+(   (Alt+9)      段落の先頭へ移動、カーソルがその位置にある場合その前の段落へ移動
Alt+)   (Alt+0)      段落の末尾の次の位置へ移動、カーソルがその位置にある場合その次の段落へ移動

Ctrl+Y  (PgUp)       前のページへ移動
Ctrl+V  (PgDn)       次のページへ移動
Alt+\   (Ctrl+Home)  ファイルの先頭行へ移動
Alt+/   (Ctrl+End)   ファイルの最終行へ移動

Alt+◂   (Alt+<)      前のバッファに切替え
Alt+▸   (Alt+>)      次のバッファに切替え

Ctrl+I  (Tab)        カーソル位置にタブ文字を挿入(またはマークした行をインデント)
Ctrl+M  (Enter)      行の挿入

Ctrl+H  (Bsp)            カーソルの前の文字を削除
Ctrl+D  (Del)            カーソル位置の文字を削除
Alt+Bsp (Shift+Ctrl+Del) カーソルから単語の先頭までを削除
Ctrl+Del                 カーソルから次の単語の先頭までを削除
Alt+T                    カーソル位置からファイル終端までを切り取り

Alt+J                ファイル全体を均等割付
Alt+D                行数、単語数、文字数を表示
Alt+V                後に続く特殊キーをそのまま入力

                     エディタを一時中断する (シェルに戻る)
Ctrl+L               画面の更新

Alt+}                現在行(またはマークされた行)をインデント
Alt+{   (Shift+Tab)  現在行(またはマークされた行)のインデントを縮小

Alt+3                現在行(またはマークされた行)をコメント/コメント解除
Ctrl+]               現在の単語の補完を試みる

Alt+:                マクロの記録を開始/停止
Alt+;                直前に記録されたマクロを実行

Alt+Ins              現在の行にアンカーを設置または削除
Alt+PgUp             後方にジャンプし直近のアンカーへ
Alt+PgDn             前方にジャンプし直近のアンカーへ

Alt+Del              現在行(またはマークされた範囲)を捨てる

F12                  スペルチェッカを起動 (利用可能な場合)
Alt+B                構文チェッカを起動 (利用可能な場合)
Alt+F                プログラムを呼び出しバッファを 整形/編集/操作します

Ctrl+L               カーソル位置の行を中寄せ

Ctrl+S               ファイルを確認なしで保存

Alt+Z                隠れたインターフェース 有効/無効
Alt+X                ヘルプ 有効/無効
Alt+C                常にカーソル位置を表示 有効/無効
Alt+S                長い行を画面上で折り返す 有効/無効
Alt+N                行番号 有効/無効
Alt+P                空白を表示 有効/無効
Alt+Y                単語の強調 有効/無効

Alt+H                スマートホームキー 有効/無効
Alt+I                自動インデント 有効/無効
Alt+K                改行の前まで削除 有効/無効
Alt+L                長い行を強制的に改行で折り返す 有効/無効
Alt+O                タブをスペースに変換 有効/無効
Alt+M                マウスのサポート 有効/無効

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

7-2 . 「一般的なキー」にカスタマイズしたときの、ショートカットキー:

-

「nano」の Ctrl+H の「ヘルプ」表示からの抜粋:

Ctrl+H  (F1)         ヘルプを表示
Ctrl+Q  (F2)         現在のバッファを閉じて nano を終了
Ctrl+W  (F3)         現在のバッファ(またはマークした範囲)をディスクへ書き込み
Ctrl+O  (Ins)        他のファイルから現在のバッファ(または新しいバッファ)に読み込み

Ctrl+F  (F6)         正規表現で文字列を前方に向かって検索
Ctrl+R  (Ctrl+\)     正規表現置換
Ctrl+X  (F9)         現在の行(またはマークした範囲)を切り取って、カットバッファに格納
Ctrl+V  (F10)        カットバッファの内容をカーソル位置に貼り付ける

Ctrl+E               関数または外部コマンドの実行
Ctrl+J  (F4)         段落を均等割付

Ctrl+P  (F11)        カーソル位置を表示
Ctrl+T  (Ctrl+/)     指定位置へ移動

Ctrl+Z  (Alt+U)      直前の操作を取り消す (undo)
Alt+E                取り消した直前の操作をやり直す (redo)

Ctrl+A  (Alt+A)      カーソル位置から始まる単語をマーク
Ctrl+C  (Alt+6)      現在の行(またはマークした範囲)をコピーして、カットバッファに格納

Alt+]                対応する括弧へ移動

Ctrl+B               正規表現で文字列を後方に向かって検索
Ctrl+D  (Alt+Q)      次を検索(前方へ)
Ctrl+G  (Alt+W)      次を検索(後方へ)

◂                    前の文字へ戻る
▸                    次の文字へ進む
Ctrl+◂  (Alt+Space)  前の単語へ戻る
Ctrl+▸  (Ctrl+Space) 次の単語へ進む
Home                 現在行の先頭へ移動
End                  現在行の末尾へ移動

▴                    前の行へ移動
▾                    次の行へ移動
Alt+▴    (Alt+-)     文中のカーソル位置を変えずに一行上にスクロール
Alt+▾    (Alt++)     文中のカーソル位置を変えずに一行下にスクロール

Ctrl+▴   (Alt+7)     前のテキストブロックへ移動
Ctrl+▾   (Alt+8)     次のテキストブロックへ移動
Alt+(    (Alt+9)     段落の先頭へ移動、カーソルがその位置にある場合、
                       その前の段落へ移動
Alt+)    (Alt+0)     段落の末尾の次の位置へ移動、カーソルがその位置にある場合、
                       その次の段落へ移動

PgUp     (F7)        前のページへ移動
PgDn     (F8)        次のページへ移動
Alt+\    (Ctrl+Home) ファイルの先頭行へ移動
Alt+/    (Ctrl+End)  ファイルの最終行へ移動

Alt+◂    (Alt+<)     前のバッファに切替え
Alt+▸    (Alt+>)     次のバッファに切替え

Ctrl+I   (Tab)       カーソル位置にタブ文字を挿入(またはマークした行をインデント)
Ctrl+M   (Enter)     行の挿入

Bsp      (Shift+Del)      カーソルの前の文字を削除
Del                       カーソル位置の文字を削除
Alt+Bsp  (Shift+Ctrl+Del) カーソルから単語の先頭までを削除
Ctrl+Del                  カーソルから次の単語の先頭までを削除
                          カーソル位置からファイル終端までを切り取り

             ファイル全体を均等割付
Alt+D        行数、単語数、文字数を表示
Alt+V        後に続く特殊キーをそのまま入力

             エディタを一時中断する (シェルに戻る)
Ctrl+L       画面の更新

Alt+}                     現在行(またはマークされた行)をインデント
Alt+{    (Shift+Tab)      現在行(またはマークされた行)のインデントを縮小

Alt+3        現在行(またはマークされた行)をコメント/コメント解除
Ctrl+]       現在の単語の補完を試みる

Alt+:        マクロの記録を開始/停止
Alt+;        直前に記録されたマクロを実行する

Alt+Ins      現在の行にアンカーを設置または削除
Alt+PgUp     後方にジャンプし直近のアンカーへ
Alt+PgDn     前方にジャンプし直近のアンカーへ

Alt+Del      現在行(またはマークされた範囲)を捨てる

F12          スペルチェッカを起動 (利用可能な場合)
Alt+B        構文チェッカを起動 (利用可能な場合)
Alt+F        プログラムを呼び出しバッファを 整形/編集/操作します

Ctrl+L       カーソル位置の行を中寄せ

Ctrl+S       ファイルを確認なしで保存

Alt+Z         隠れたインターフェース 有効/無効
Alt+X         ヘルプ 有効/無効
Alt+C         常にカーソル位置を表示 有効/無効
Alt+S         長い行を画面上で折り返す 有効/無効
Alt+N         行番号 有効/無効
Alt+P         空白を表示 有効/無効
Alt+Y         単語の強調 有効/無効

Alt+H         スマートホームキー 有効/無効
Alt+I         自動インデント 有効/無効
Alt+K         改行の前まで削除 有効/無効
Alt+L         長い行を強制的に改行で折り返す 有効/無効
Alt+O         タブをスペースに変換 有効/無効
Alt+M         マウスのサポート 有効/無効

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

8. 参考:「nano」のデフォルトの設定ファイル: ★

-

日本語のコメント行は、実際にはありません。
わかりやすくするために追記しました。

-

1). 設定を変更するときは、こちらではなく、「~/.nanorc」を作成して変更点を追記します。

-

2). 「nano」の設定ファイルの内容を確認:

$ cat /etc/nanorc
## Sample initialization file for GNU nano.
### GNU nano の初期化ファイルのサンプル
##
## For the options that take parameters, the default value is shown.
## Other options are unset by default.  To make sure that an option
## is disabled, you can use "unset <option>".
### パラメータのあるオプションは、デフォルト値を表示してます。
### その他のオプションは、デフォルトでは設定されていません。
### オプションが無効かの確認は、「unset <option>」を使います。
##
## Characters that are special in a shell should not be escaped here.
## Inside string parameters, quotes should not be escaped -- the last
## double quote on the line will be seen as the closing quote.
### シェルで特殊な文字は、ここでエスケープしないでください。
### 文字列パラメーター内では、引用符をエスケープしないでください。
### 行の最後の二重引用符は、終了引用符と見なされます。

## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
## stop at word ends instead of at beginnings.
### 「次の単語」(Ctrl+「→」)と「単語の右を切る」(Ctrl+Delete) を、
### 単語の先頭ではなく末尾で停止させます:
# set afterends

## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
### ソフト行折り返しが有効な場合、常に画面の端ではなく、
### 空白 (タブとスペース) で行を折り返します:
# set atblanks

## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
### 新しく作成された行を、前の行と同じ数のタブ、
### および/またはスペースに自動的にインデントします。
### 前の行が段落の始まりの場合は、次の行にインデントします:
# set autoindent

## Back up files to the current filename plus a tilde.
### ファイルを「現在のファイル名~」にバックアップします: ☆
# set backup

## The directory to put unique backup files in.
### 一意のバックアップ ファイルを配置するディレクトリ: ☆
# set backupdir ""

## Use bold text instead of reverse video text.
### 反転したテキストの代わりに、太字のテキストを使います:
# set boldtext

## Treat any line with leading whitespace as the beginning of a paragraph.
### 先頭に空白がある行は、段落の始まりとして扱います:
# set bookstyle

## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters.  Only closing punctuation,
## optionally followed by these closing brackets, can end sentences.
### 段落のときに閉じ括弧として扱われる文字。
### これには空白文字を含めることはできません。
### 文を終了できるのは、オプションで指定する
### これらの閉じ括弧が後に続く閉じ括弧のみです:
# set brackets ""')>]}"

## Automatically hard-wrap the current line when it becomes overlong.
### 現在の行が長くなりすぎると、自動的にハードラップします:
# set breaklonglines

## Do case-sensitive searches by default.
### デフォルトで大文字と小文字を区別して検索します:
# set casesensitive

## Constantly display the cursor position in the status bar or minibar.
### ステータスバーまたはミニバーに常にカーソル位置を表示します:
# set constantshow

## Use cut-from-cursor-to-end-of-line by default.
### デフォルトでは、カーソルから行末までのカットを使用します:
# set cutfromcursor

## Do not use the line below the title bar, leaving it entirely blank.
### タイトル バーの下の行は使用せず、完全に空白のままにします:
# set emptyline

## Set the target width for automatic hard-wrapping and for justifying
## paragraphs.  If the specified value is 0 or less, the wrapping point
## will be the terminal's width minus this number.
### 自動ハードラップと段落の両端揃えのターゲット幅を設定します。
### 指定値が 0 以下の場合、折り返し点は、
### 端末の幅からこの数値を引いた値になります:
# set fill -8

## Draw a vertical stripe at the given column, to help judge text width.
## (This option does not have a default value.)
### テキストの幅がわかりやすいように、指定された列に縦線を引きます:
###   (このオプションにはデフォルト値がありません。)
# set guidestripe 75

## Remember the used search/replace strings for the next session.
### 次のセッションのために、使用した検索/置換文字列を記憶します:
# set historylog

## Display a "scrollbar" on the righthand side of the edit window.
### 編集ウィンドウの右側に「スクロールバー」を表示します: ☆
# set indicator

## Scroll the buffer contents per half-screen instead of per line.
### 行ごとではなく、半画面ごとにバッファの内容をスクロールします:
# set jumpyscrolling

## Display line numbers to the left (and any anchors in the margin).
### 左側に行番号を表示 (および余白にアンカーを表示):
### (●● 行番号表示したいとき、下記のコメント解除)★
# set linenumbers

## Enable vim-style lock-files.  This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa.  There are
## no plans to implement vim-style undo state in these files.
### vim スタイルのロック ファイルを有効にします。
###  これは、編集しようとしているファイルを編集していること、
### およびその逆であることをユーザに知らせるためのものです:
# set locking

## Fall back to slow libmagic to try and determine an applicable syntax.
### 遅い libmagic に後退して、適用可能な構文を試して判断します:
# set magic

## The opening and closing brackets that are found by a matching-bracket
## search.  This may not contain blank characters.  The opening brackets
## must come before the closing ones, and they must be in the same order.
### 閉じ括弧の検索に使う「左の閉じ括弧」と「右の閉じ括弧」の指定には
### 空白文字を含めることはできません。
### 「左の閉じ括弧」は「右の閉じ括弧」より前に来なければならず、
### それらは同じ順序でなければなりません:
# set matchbrackets "(<[{)>]}"

## Suppress the title bar and show the filename plus a cursor-position
## percentage in the space of the status bar.
### タイトル バーを非表示にし、ステータス バーの領域に
### ファイル名とカーソル位置のパーセンテージを表示します:
# set minibar

## Enable mouse support, if available for your system.  When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts.  The mouse will work in the
## X Window System, and on the console when gpm is running.
### システムで利用可能な場合は、マウスのサポートを有効にします。
### 有効にすると、マウス クリックを使用してカーソルを配置できます。☆
### マークを設定(ダブルクリック)し、ショートカットを実行します。
### マウスは X Window System で動作し、gpm が実行されている場合は
### コンソールで動作します:
# set mouse

## Switch on multiple file buffers (inserting a file will put it into
## a separate buffer).
### 複数のファイル バッファをオンにします。
###  (ファイルを挿入すると、別のバッファに入れられます): ☆
# set multibuffer

## Don't convert files from DOS/Mac format.
### DOS/Mac フォーマットからファイルを変換しないでください:
# set noconvert

## Don't display the helpful shortcut lists at the bottom of the screen.
### 画面の下部に役立つショートカットの一覧を表示しません: ☆
# set nohelp

## Don't automatically add a newline when a file does not end with one.
### ファイルが改行で終わっていない場合、自動的に改行を追加しません:
# set nonewlines

## Set operating directory.  nano will not read or write files outside
## this directory and its subdirectories.  Also, the current directory
## is changed to here, so any files are inserted from this dir.  A blank
## string means the operating-directory feature is turned off.
### 操作するディレクトリを設定します。
### nano は、このディレクトリとそのサブディレクトリ以外の
### ファイルを読み書きしません。
### 現在のディレクトリがここに変更されるため、ファイルは
### このディレクトリから挿入されます。
### 空白の指定は、この機能がオフになっていることを意味します: ☆
# set operatingdir ""

## Remember the cursor position in each file for the next editing session.
### 次の編集のために、各ファイルのカーソル位置を記憶します: ☆
# set positionlog

## Preserve the XON and XOFF keys (^Q and ^S).
### XON および XOFF キー (^Q および ^S) を保持します:
# set preserve

## The characters treated as closing punctuation when justifying paragraphs.
## This may not contain blank characters.  Only these closing punctuations,
## optionally followed by closing brackets, can end sentences.
### 段落を正当化する際に、閉じ句読点として扱われる文字を指定。
### これには空白文字を含めることはできません。
### 文を終了できるのは、これらの閉じ句読点のみであり、
### オプションで閉じ括弧が続きます:
# set punct "!.?"

## Make status-bar messages disappear after 1 keystroke instead of after 20.
### ステータス バーのメッセージが 20 回ではなく 1 回のキーストロークで消えます:
# set quickblank

## The regular expression that matches quoting characters in email
## or line-comment introducers in source code.  The default is:
### 電子メールの引用文字またはソース コードの行コメント
### などの紹介に一致する正規表現。
### デフォルトは次のとおりです:
# set quotestr "^([     ]*([!#%:;>|}]|//))+"

## Try to work around a mismatching terminfo terminal description.
### terminfo の端末記述の不一致を回避します:
# set rawsequences

## Fix Backspace/Delete confusion problem.
### Backspace/Delete の混乱の問題を修正:
# set rebinddelete

## Do regular-expression searches by default.
## Regular expressions are of the extended type (ERE).
### デフォルトで正規表現検索を行います。
### 正規表現は拡張型 (ERE) です:
# set regexp

## Save a changed buffer automatically on exit; don't prompt.
### 終了時に変更されたバッファを自動的に保存します。
### プロンプトなし:
# set saveonexit

## Put the cursor on the highlighted item in the file browser, and
## show the cursor in the help viewer; useful for people who use a
## braille display and people with poor vision.
### ファイル ブラウザで強調表示された項目にカーソルを置き、
### ヘルプ ビューアにカーソルを表示します。
### 点字ディスプレイを使用している人や視力の弱い人に便利です:
# set showcursor

## Make the Home key smarter: when Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards).  If the
## cursor is already at that position, it will jump to the true start
## of the line (the left edge).
### 行の非空白文字の先頭以外の場所で Home を押すと、
### カーソルはその先頭にジャンプします (前方または後方)。
### カーソルがすでにその位置にある場合は、
### 行の真の開始点 (左端) にジャンプします:
# set smarthome

## Spread overlong lines over multiple screen lines.
### 長すぎる行を複数のスクリーン行に広げます:
# set softwrap

## Use this spelling checker instead of the internal one.  This option
## does not have a default value.
### 内部のスペル チェックではなく、このスペル チェックを使用します。
### このオプションにはデフォルト値がありません:
# set speller "aspell -x -c"

## Use the end of the title bar for some state flags: I = auto-indenting,
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
### タイトル バーの末尾をいくつかの状態フラグに使用します。
### I = 自動インデント、M = マーク、L = 長い行のハード ラップ、
### R = 録音、S = ソフト ラップ:
# set stateflags

## Use this tab size instead of the default; it must be greater than 0.
### デフォルトの代わりにこのタブ サイズを使用します。☆
### 0 より大きくなければなりません:
# set tabsize 8

## Convert each typed tab to the fitting number of spaces.
### 入力された各タブを適切な数のスペースに変換します: ☆
# set tabstospaces

## Snip whitespace at the end of lines when justifying or hard-wrapping.
### 正当化またはハードラップする場合は、行末の空白を切り取ります:
# set trimblanks

## Save files by default in Unix format (also when they were DOS or Mac).
### デフォルトでファイルを Unix 形式で保存します。
###  (DOS または Mac の場合も同様)
# set unix

## The two single-column characters used to display the first characters
## of tabs and spaces.  187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
## The default when in a UTF-8 locale:
### タブとスペースの最初の文字を表示するために使用される 2 つの単一列文字。
### ISO 8859-1 では 187 (Unicode では 0000BB)、
### ISO-8859-1 では 183 (Unicode では 0000B7) が適切な値のようです。
### UTF-8 ロケールの場合のデフォルト:
# set whitespace "»·"
## The default otherwise:
### それ以外の場合のデフォルト:
# set whitespace ">."

## Detect word boundaries differently by treating punctuation
## characters as parts of words.
### 句読点を単語の一部として扱うことで、
### 単語の境界を別の方法で検出します:
# set wordbounds

## The characters (besides alphanumeric ones) that should be considered
## as parts of words.  This option does not have a default value.  When
## set, it overrides option 'set wordbounds'.
### 単語の一部と見なされる文字 (英数字以外)。
### このオプションにはデフォルト値がありません。
### 設定すると、オプション 'set wordbounds' がオーバーライドされます。
# set wordchars "<_>."

## Let an unmodified Backspace or Delete erase the marked region (instead
## of a single character, and without affecting the cutbuffer).
### 変更されていない Backspace または Delete で、
### マークされた領域を消去します
### (単一の文字ではなく、カットバッファに影響を与えずに)
# set zap

## Hide the bars plus help lines and use the whole terminal as edit area.
### バーとヘルプ行を非表示にして、
### 「端末」画面全体を編集エリアとして使用します: ☆
# set zero


## Paint the interface elements of nano.  These are examples; there are
## no colors by default, except for errorcolor and spotlightcolor.
### nano のインターフェース要素の色指定。 これらは例です。 ☆
### errorcolor と spotlightcolor を除いて、デフォルトでは色はありません。
# set titlecolor bold,white,blue
# set promptcolor lightwhite,grey
# set statuscolor bold,white,green
# set errorcolor bold,white,red
# set spotlightcolor black,lightyellow
# set selectedcolor lightwhite,magenta
# set stripecolor ,yellow
# set scrollercolor cyan
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green

## In root's .nanorc you might want to use:
### ルートの .nanorc では、次を使用できます:
# set titlecolor bold,white,magenta
# set promptcolor black,yellow
# set statuscolor bold,white,magenta
# set errorcolor bold,white,red
# set spotlightcolor black,orange
# set selectedcolor lightwhite,cyan
# set stripecolor ,yellow
# set scrollercolor magenta
# set numbercolor magenta
# set keycolor lightmagenta
# set functioncolor magenta


## === Syntax coloring ===
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
### === 構文の色分け ===
### すべての詳細については、「man nanorc」の
### 「SYNTAX HIGHLIGHTING」(構文の強調表示) を参照。

## To include most of the existing syntax definitions, you can do:
### 既存の構文定義のほとんどを含めるには、次のようにします: ☆
# include "/usr/share/nano/*.nanorc"

## Or you can select just the ones you need.  For example:
### または、必要なものだけを選択することもできます。例えば: ☆
# include "/usr/share/nano/html.nanorc"
# include "/usr/share/nano/python.nanorc"
# include "/usr/share/nano/sh.nanorc"

## In /usr/share/nano/extra/ you can find some syntaxes that are
## specific for certain distros or for some less common languages.
### /usr/share/nano/extra/ には、特定のディストリビューションや
### あまり一般的でない言語に固有の構文がいくつかあります。

## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
### 'tabsize' と 'tabstospaces' の設定に関係なく、
### Python ファイルを編集するときに
### <Tab> が常に 4 つのスペースを生成する必要がある場合:
# extendsyntax python tabgives "    "

## If <Tab> should always produce an actual TAB when editing a Makefile:
### Makefile の編集時に <Tab> が常に実際の TAB を生成する必要がある場合:
# extendsyntax makefile tabgives "  "


## === Key bindings ===
## For all details, see 'man nanorc', section REBINDING KEYS.
### === キーバインディング ===
### すべての詳細については、「man nanorc」の
### 「REBINDING KEYS」(キーの再バインド)を参照。

## If you want to suspend nano with one keystroke (instead of with ^T^Z):
### nano を 1回のキーストロークで (^T^Z ではなく) サスペンドしたい場合:
# bind ^Z suspend main

## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
## the ASCII character for backspace, so it is bound by default to the
## backspace function.  The <Backspace> key itself produces a different
## keycode, which is hard-bound to the backspace function.  So, if you
## normally use <Backspace> for backspacing and not ^H, you can make
## <Ctrl+Backspace> delete the word to the left of the cursor with:
### <Ctrl+Delete> キーストロークは、カーソルの右側の単語を削除します。
### 一部の端末では、<Ctrl+Backspace> キーストロークにより、
### バックスペースの ASCII 文字である ^H が生成されるため、
### デフォルトでバックスペース機能にバインドされます。
### <Backspace> キー自体が別のキーコードを生成し、
### これは backspace 関数にハードバインドされています。
### したがって、通常、バックスペースに ^H ではなく
### <Backspace> を使用する場合、次のように <Ctrl+Backspace> で
### カーソルの左側の単語を削除できます:
# bind ^H chopwordleft main

## For a more mnemonic Comment keystroke (overriding Cut-from-cursor):
### よりニーモニックなコメント キーストロークの場合 (Cut-from-cursor を上書き):
# bind M-K comment main

## If you want ^L to just refresh the screen and not center the cursor:
### ^L で画面を更新するだけで、カーソルを中央に配置しない場合:
# bind ^L refresh main

## When you sometimes type M-J instead of M-K, or M-T instead of M-R:
### M-K の代わりに M-J を入力したり、M-R の代わりに M-T を入力したりする場合:
# unbind M-J main
# unbind M-T main
## (Those functions are still accessible through ^T^J and ^T^V.)
### (これらの機能は、^T^J および ^T^V から引き続きアクセスできます。)

## For quickly uppercasing or lowercasing the word under or after the cursor.
## (These effectively select a word and pipe it through a sed command.)
### カーソルの下または後の単語をすばやく大文字または小文字にします。
### (これらは効果的に単語を選択し、それを sed コマンドにパイプします)
#bind Sh-M-U "{nextword}{mark}{prevword}{execute}|sed 's/.*/\U&/'{enter}" main
#bind Sh-M-L "{nextword}{mark}{prevword}{execute}|sed 's/.*/\L&/'{enter}" main

## For copying a marked region to the system clipboard:
### マークされた領域をシステムのクリップボードにコピーするには: ☆
# bind Sh-M-T "{execute}|xsel -ib{enter}{undo}" main

## For snipping trailing blanks when you save a file:
### ファイルを保存するときに末尾の空白を切り取るには:
# bind ^S "{execute}| sed 's/\s\+$//' {enter}{savefile}" main

## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
### nano にもっと「通常の」キー割り当てを持たせたい場合は、
### ^O で開く、^F で検索、^H でヘルプ、^Q で終了する場合は、
### これらのコメントを外します:
### (●●「通常の」キー操作にしたいとき、以下のコメントを解除)★
#bind ^X cut main
#bind ^C copy main
#bind ^V paste all
#bind ^Q exit all
#bind ^S savefile main
#bind ^W writeout main
#bind ^O insert main
#set multibuffer
#bind ^H help all
#bind ^H exit help
#bind ^F whereis all
#bind ^G findnext all
#bind ^B wherewas all
#bind ^D findprevious all
#bind ^R replace main
#bind ^Z undo main
#bind ^Y redo main
#unbind ^K main
#unbind ^U all
#unbind ^N main
#unbind ^Y all
#unbind M-J main
#unbind M-T main
#bind ^A mark main
#bind ^P location main
#bind ^T gotoline main
#bind ^T gotodir browser
#bind ^T cutrestoffile execute
#bind ^L linter execute
#bind ^E execute main

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

9. 参考: 「nano」を使うときの留意点:

-

1). 別に起動した「端末」画面と並べて使った方が効率アップします

「ファイルの後ろや頭にファイルの内容を追加」する機能(メニュー項目)がありますが、 「端末」画面でコマンドを実行し、範囲指定して、バッファに中央ボタンで貼付け、が楽です。

-

2). カーソルの移動に、マウスは使えないので注意。

マウスで範囲指定してそこを削除しようとして、別の場所が削除されたことがありました。 機能を理解していないと混乱します。

-

3). 記憶場所は 3つ:

  • ファイルが読み込まれる「バッファ」→複数持てます。

  • 「nano」の中で、Ctrl+C や Ctrl+V でコピーされる「カットバッファ」

  • マウスで範囲指定「クリップボード」→システムの機能で、中央ボタンで貼付け

  • 「nano」の外で、Ctrl+C や Ctrl+V でコピーされる「クリップボード」→システムの機能で、中央ボタンで貼付け

-

4). 「マウスで範囲指定」して、切り貼りするとき:

-

5). 通常は「行単位」のコピーと貼付け:

  • その行にカーソルを移動して、Ctrl+C(でカットバッファにコピー)。

  • Ctrl+V で(カットバッファを)貼付け。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----

10 . 「デフォルトの設定」に戻したい場合:

-

1). 一部の言語ファイルのみ、ハイライト定義を解除したい場合:

言語ファイルの「拡張子」が「ファイル名」です。

-

例: 「lisp」言語のみ、ハイライト定義を解除する場合:

$ mousepad ~/.nanorc

-

下記の 行をコメントにします:

include "~/.nano/lisp.nanorc"

# include "~/.nano/lisp.nanorc"

-

確認:
$ nano ~/ドキュメント/hello.lisp

→色分けされなくなりました。

-

2). 一時的に、デフォルトの設定に戻したい場合:

カスタマイズした設定も、ハイライト表示も解除したい場合:

$ mv ~/.nanorc ~/.nanorc-UnUsed

-

再び、カスタマイズの設定に戻す場合:

$ mv ~/.nanorc-UnUsed ~/.nanorc

-

3). 一時的に、キー定義のみ、デフォルトに戻したい場合:

$ cp ~/.nanorc ~/.nanorc-UnUsed
$ cp ~/.nanorc-Github ~/.nanorc

-

4). 再び使う予定がなく、すべて削除したい場合:

$ rm ~/.nanorc
$ rm -r ~/.nano

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -

11 . ハイライトの定義をインストールせずに、一般的なショートカットキーにカスタマイズする場合:

-

まずは、カラー定義なしで使ってみるのも良いと思います。

基本の定義ファイルを使った場合の方がシンプルで、見やすい場合もあります。

-


1). 既存の「設定ファイル」をバックアップ:

$ cp ~/.nanorc ~/.nanorc-ORG2

-


2). 設定ファイル「~/.nanorc」の作成:

使うエディタはどれでもよいです。

$ mousepad ~/.nanorc

↓ すべて消してから、下記をすべて貼付け:

## Display line numbers to the left (and any anchors in the margin).
### 左側に行番号を表示 (および余白にアンカーを表示): 未使用
#set linenumbers

## If you would like nano to have keybindings that are more "usual":
### 「一般的な」キーバインドに変更:
bind ^X cut main
bind ^C copy main
bind ^V paste all
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
set multibuffer
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^B wherewas all
bind ^D findprevious all
bind ^R replace main
bind ^Z undo main
bind ^Y redo main
unbind ^K main
unbind ^U all
unbind ^N main
unbind ^Y all
unbind M-J main
unbind M-T main
bind ^A mark main
bind ^P location main
bind ^T gotoline main
bind ^T gotodir browser
bind ^T cutrestoffile execute
bind ^L linter execute
bind ^E execute main

-


3). nano を起動して確認:

画面下のガイド行のキー定義がカスタマイズされていることに注目:

-

基本の定義ファイルがある言語の場合:

$ nano ~/ドキュメント/hello.py

→色分けは、基本の定義ファイルが使われます。

-

基本の定義ファイルがない言語の場合:

$ nano ~/ドキュメント/hello.lisp

→基本の定義ファイルがないので、カラー表示なしです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --

12 . 個人的に使っている「カスタマイズ」と、色使いの「markdown」の定義ファイル:

-

markdown」ファイルの作成が多いので、使いやすい色使いの定義に修正しました:

定義ファイルの追加インストールはしましたが、色使いが好みではないので使っていません。 必要なときに、組み込めばいいかな。

-

1). 個人的に色分けした「markdown」の定義ファイルを作成:

追加の「markdown」の定義ファイルは、構文によって色使いの漏れがあるので、 「nano」と一緒に入った基本のハイライト定義ファイルの方を参考にしました:

-

$ mkdir -p ~/ダウンロード/test
$ mousepad ~/ダウンロード/test/markdown.nanorc

-

↓ すべて貼付け:

## Syntax highlighting for Markdown files.
### Markdown ファイルのシンタックス ハイライト:

## Original authors:  Ryan Westlund and Benno Schulenberg
## License:  GPL version 3 or newer

#syntax markdown "\.md$"
### 拡張子の指定:
syntax "Markdown" "\.(md|markdown)$"

### コメントの指定:
comment "<!--|-->"

# Quoted:
### 引用:
color brightmagenta "^[       ]*>.*"

# List-item markers:
### リスト項目マーカー:
color brightmagenta "^(    |    )* ? ? ?(\*|\+|-|[1-9]+\.)( +|  )"

# Emphasis and strong:
### 強調:
color yellow "\*[^*     ][^*]*\*|_[^_   ][^_]*_"
color brightyellow "\*\*[^*]+\*\*|__[^_]+__"

# Strikethrough:
### 取り消し線:
color red "~~[^~]+~~"

# Line breaks:
### 改行:
color ,blue "  $"

# URLs and links:
### URL とリンク:
color brightblue "\[[^]]+\]\([^)]+\)"
color magenta "!?\[[^]]+\]"

# Code snippet, indented code, and fenced code:
### コード指定:
color cyan "`[^`]+`"
color cyan "^(    |     )+ *([^*+0-9>   -]|[*+-]\S|[0-9][^.]).*"
color cyan start="```" end="```$"

# Headings and the underlining of headings:
### 見出し:
color brightgreen "^#.*"
color brightgreen "^(=+|-+)$"

# HTML tags and comments:
### HTML タグとコメント:
color brightblack "<[^>]+>"
color brightblack start="<!--" end="-->"

→よく使う機能のみ確認。その他は調整が必要かも。

コード指定の中で、ハイライト表示されるのが課題。

-

2). 設定ファイルの変更:

$ nano ~/.nanorc

-

↓ すべて貼付け:

### ハイライトの定義ファイル:
#include "~/.nano/markdown.nanorc"
include "~/ダウンロード/test/markdown.nanorc"

## Display line numbers to the left (and any anchors in the margin).
### 左側に行番号を表示 (および余白にアンカーを表示): 未使用
#set linenumbers

## Spread overlong lines over multiple screen lines.
### 長すぎる行を「ソフト行折り返し」します:
set softwrap

## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
### 「ソフト行折り返し」が有効な場合、常に画面の端ではなく、
### 空白 (タブと半角スペース) で行を折り返します:
set atblanks
          
## If you would like nano to have keybindings that are more "usual":
### 「一般的な」キーバインドに変更:
bind ^X cut main
bind ^C copy main
bind ^V paste all
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
set multibuffer
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^B wherewas all
bind ^D findprevious all
bind ^R replace main
bind ^Z undo main
bind ^Y redo main
unbind ^K main
unbind ^U all
unbind ^N main
unbind ^Y all
unbind M-J main
unbind M-T main
bind ^A mark main
bind ^P location main
bind ^T gotoline main
bind ^T gotodir browser
bind ^T cutrestoffile execute
bind ^L linter execute
bind ^E execute main

→長すぎる行をソフト行折り返しするように設定しました。

-

3). 確認:

$ nano ~/ドキュメント/2023-01-07-test.md

-

ソフト行折り返し、が無効の設定の場合:

→色使いは見やすくなったと思います。

デフォルトでは、長い行は折り返されません。

コード指定が多い場合は、折返しは要りません。

-

ソフト行折り返し、を有効に設定した場合:

→ソフト行折り返しは、「半角スペース」か「Tab」で折り返す設定にしたので、見出しにある、最初の「半角スペース」で折り返されてます。

日本語の句読点の「、」や「。」でも、行が折り返されて欲しいところ。

-

回避策: 句読点の「、」や「。」の後ろに「半角スペース」を追加:

→ファイルをさわらずにそのままにしても良いし、「半角スペース」を付けても支障はないと思います。

-

-

-


まとめ

「nano」を、使い慣れた一般的なショートカットキーに(機能が違うけど)近づけてみたら、作業しやすくなりました。

機能を理解したことで、カスタマイズしていない、デフォルト定義の「nano」でも、以前より活用できそう。

-

ちなみに、ファイル指定して「nano」を起動した場合は、Ctrl + S(上書き保存)が使えます。編集中に、逐次使っています。ただし、警告なしで上書きされるので注意。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

「EndeavourOS」(i3-wm) にて「nano」をカスタマイズ〈H162-2〉

登録日: 2023-01-03 更新日: 2023-01-04

Xubuntu 22.04.1 の「Boxes」に、「Arch Linux」ベースの「EndeavourOS」の「i3-wm」をインストールしました。

「端末」画面を使うことが多い環境です。デフォルトで「nano」が(フルの言語ファイル込みで)入っていました。

-

普段はやらないカスタマイズで、どれくらい使いやすくできるのか試しました。
ディストリビューションを問わずに使える、カスタマイズです。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

前回の作業:

Boxes に「EndeavourOS」(i3-wm) をインストール〈H162〉

-

今回の作業:

  1. 「nano」の起動時のオプション:

  2. 「nano」のデフォルトのショートカットキー:

  3. 「nano」のデフォルトの設定:

  4. 「nano」の個人的なカスタマイズ:

  5. カスタマイズした後に「ファイルの編集」を試してわかったこと:

  6. 端末の「URxvt」を追加:

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS で、「Boxes」を使う:

-

ボックスの「EndeavourOS」(i3-wm) にて「nano」を使用:

-

(1). Windows + Enter で「端末」アプリを起動:

ウィンドウのタイトルバーを表示するように変更しています。

→アプリは、パネル左の「ワークスペース1」に表示されます。すき間(Gap)付きの最大化表示です。

-

(2). 端末から、「nano」を起動:
$ nano -l ~/.config/i3/config

→行番号の表示をオンにして、i3 の設定ファイルを開きました。

-

(3). 起動された「nano」の画面:

→ハイライト表示の定義ファイルをすべて読み込んでいるので、 設定ファイルが色分けされて見やすいです。

-

カスタマイズしたので、ガイド行の表示が、一般的なキーに変わっていることに注目:

Ctrl + O オー で開いて、Ctrl + W で保存し、Ctrl + Q で終了。

-

(4). Ctrl + H で、「ヘルプ表示」:

→アプリのヘルプ表示と違い、わかりやすい説明が表示されました。

ガイド行の表示がヘルプ表示で有効なキーに変わっていることに注目。

-

カスタマイズ前なら、「ヘルプ表示」はCtrl + G です。

「ヘルプ表示」の終了は、Ctrl + H です。

-

(5). 「端末」画面と並べて使うと効率が上がります:

「コマンドを実行」する機能がありますが、それよりも「端末」画面をタイリングで並べた方が便利です。マウスですぐに範囲指定して、中央ボタンで貼付けできます。(カットバッファでなく、クリップボードが使われることに留意)

-

Windows + V(縦に分割する指定)

Windows + Enter(ワークスペース1 に端末を起動)

-

(6). 任意のワークスペースで起動できる「端末」アプリを追加:

-

追加した「URxvt」の起動:

Windows + 6(任意のワークスペース

Windows + D

「term」で絞り込み、「URxvt」を選択、Enter

-

「nano」で「~/.Xresources」を開いている画面:

→上がデフォルトの「Xfce4-terminal」で、下が追加した 「URxvt」 です。どちらも透明度(疑似透過)オンの設定。

-

「URxvt」は、カスタマイズしやすいのと、unicode 対応なのが利点です。

同じフォントとサイズにしましたが、行間の指定と、テーマが違い(上はブルー系の背景で、カーソルが赤色。下は黒系の背景で、カーソルが白色)、印象が違います。

濃い紺色が使われている部分が見づらいときは、色なしの「xed」も使えます。

-

(7). アプリの終了は、Ctrl + Q か、Windows + Q です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

「EndeavorOS」について:

-

1). 公式サイト:

ENDEAVOUR OS

EndeavorOS は、インストールが楽で、使い勝手をよくした「Arch Linux」です(リポジトリも同等)。

-

2). 「EndeavourOS」の現在のバージョンを表示:

2023-01-01 現在

カーネル:

$ uname -r
6.1.1-arch1-1

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=EndeavourOS
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="EndeavourOS Linux"
DISTRIB_CODENAME=rolling

-

「Welcome」の現在のバージョン:

$ eos-welcome --version
3.45-1

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

「i3-wm」について:

-

「EndeavourOS」の「i3-wm」のサイト:

Github: endeavouros-team/endeavouros-i3wm-setup

i3-wm は、キーボードのみで動作する軽量のタイル型ウィンドウ マネージャです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

テキストエディタ「nano」について:

-

公式サイト:

The GNU nano homepage

-

nano の元になった Pico は、1ファイルのみが編集できる、メールを読むためのエディタだったようです。nano ではエディタとして、色々な機能が補完されています。

-

「端末」画面で実行される CUI のエディタ(vim 等)に慣れていなくても、使えるのが利点です:

起動するだけで、すぐに文字入力が可能になり、矢印キーでカーソルの移動ができます。 画面の下にあるガイド行で、主要な(統一感がなく、クセが強めの)キー割当てが表示されます。 たぶん、覚えられないから逆に、ガイド行が生まれたのだろうと思います。

-

それ以外のキー割当てについては、Ctrl + G (ヘルプ)で知ることができます。

→カスタマイズして、一般的な Ctrl + H (ヘルプ)にしました。

-

オンラインマニュアル:

Online Manual

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

1. 「nano」を起動する時のオプション:

-

1). ヘルプで確認:

$ nano --help
使用法: nano [オプション] [[+行[,桁]] ファイル]...

「+」に続けて行番号、「,」カンマ に続けて桁数を、ファイル名の前で指定すると、
 ファイルの指定した行と桁にカーソルを置けます。

ファイル名が「-」の時は、nano はデータを「標準入力」より読み込みます。
 オプション       長いオプション            説明
 -A             --smarthome             Home キーで行の先頭へジャンプが有効
 -B             --backup                既存ファイルのバックアップを保存します
 -C <dir>       --backupdir=<dir>       バックアップファイルを作成するディレクトリ
 -D             --boldtext              反転文字を太字で表示
 -E             --tabstospaces          タブをスペースに変換
 -F             --multibuffer           デフォルトでファイルを新しいバッファに読み込み
 -G             --locking               (vim スタイルの) ロックファイルを使う
 -H             --historylog            検索/置換した以前の文字列を記録および読み取り
 -I             --ignorercfiles         nanorc ファイルを参照しない
 -J <番号>       --guidestripe=<番号>    この列にガイドバーを表示します
 -K             --rawsequences          テンキーパッドの混乱の問題を修正します
 -L             --nonewlines            自動的に改行を追加しない
 -M             --trimblanks            強制改行で折り返す時に、末尾の空白を取り除く
 -N             --noconvert             DOS/Mac フォーマットを変換しない
 -O             --bookstyle             先頭の空白は新しい段落を意味します
 -P             --positionlog           カーソル位置を保存し復元します
 -Q <正規表現>   --quotestr=<正規表現>     検索に使用する正規表現
 -R             --restricted            ファイルシステムへのアクセスを制限します
 -S             --softwrap              はみ出す行を複数行に渡って表示します
 -T <番号>       --tabsize=<番号>        この桁の幅でタブを設定します
 -U             --quickblank            次のキー入力でステータスバーをクリアします
 -V             --version               バージョン情報を表示して終了します
 -W             --wordbounds            単語の境界をより正確に抽出します
 -X <文字列>     --wordchars=<文字列>     単語の一部とみなす文字の集合
 -Y <文法名>     --syntax=<文法名>        表示色を決めるための構文定義
 -Z             --zap                   バックスペースとDelでマークした範囲を削除します
 -a             --atblanks              折り返し表示を空白にも適用します
 -b             --breaklonglines        自動的に長い行を強制改行します
 -c             --constantshow          常にカーソル位置を表示
 -d             --rebinddelete          Del キーをバックスペースとして扱う
 -e             --emptyline             タイトルバーの下の行を空けておく
 -f <ファイル>   --rcfile=<ファイル>       このファイルのみを nano の設定に使用します
 -g             --showcursor            ファイルブラウザとヘルプ文書の中でカーソルを表示
 -h             --help                  このヘルプを表示して終了
 -i             --autoindent            改行で自動インデント
 -j             --jumpyscrolling        1行ずつではなく、半画面ずつスクロールします
 -k             --cutfromcursor         行削除時に改行文字を削除しない
 -l             --linenumbers           行頭に行番号を表示します
 -m             --mouse                 マウスを有効にします
 -n             --noread                ファイルを読み込まない(書き込みのみ)
 -o <dir>       --operatingdir=<dir>    作業ディレクトリを指定
 -p             --preserve              XON (^Q) および XOFF (^S) キーを維持します
 -q             --indicator             位置と選択部分を示すインジケーターを表示します
 -r <番号>       --fill=<番号>           強制改行の幅を設定し均等割付
 -s <プログラム>  --speller=<プログラム>   別のスペルチェッカを使用します
 -t             --saveonexit            終了時に保存する、問い合わせをしない
 -u             --unix                  ファイルをデフォルトで UNIX 形式で保存します
 -v             --view                  ビューモード(読み込み専用)
 -w             --nowrap                長い行の強制改行をしない [デフォルト]
 -x             --nohelp                キーのガイドを表示しない
 -y             --afterends             Ctrl+Right で単語の終わりに止まるようにします
 -!             --magic                 またマジックを試して、文法を特定する
 -%             --stateflags            いくつかの状態をタイトルバーに表示します
 -_             --minibar               下部にフィードバックバーを表示します
 -0             --zero                  すべてのバーを隠し、端末全体を使う

-

2). 使用例:

-

ファイル種別に応じて、ハイライト表示されるので、見やすいです。

-

(1). 行番号付きで編集 1:
$ nano -l ~/ダウンロード/my-app/i3wm-shortcut-key.md

→「Welcome」アプリに追加した「ショートカットキーの説明」表示のためのファイル

-

(2). 行番号付きで編集 2:
$ nano -l ~/.config/i3/config

→「i3-wm」のメインとなる設定ファイル

-

行番号を表示させた場合、マウスを使って範囲選択すると、行番号まで選択されるので、キーボードのみで選択するのが無難です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

2. 「nano」のショートカットキー(デフォルトの設定):

-

他のエディタで使われているキー定義と違います:

Overview of nano's shortcuts より抜粋:

-

ただし、「Ctrl+O」と「Ctrl+X」の 2つを覚えておけば、ガイド行の表示があるので何とかなります。

-

ファイルの処理:

Ctrl+S     現在のファイルを保存
Ctrl+O     ファイルへの書込み (名前を付けて保存)  ←(注目)
Ctrl+R     ファイルを現在のファイルに挿入
Ctrl+X     バッファを閉じ、nano を終了  ←(注目)

-

編集:

Ctrl+K    現在の行を削除して、カットバッファにコピー
Alt+6     現在の行を削除せずに、カットバッファにコピー
Ctrl+U   カットバッファの内容を貼付け
Alt+T     バッファの最後までカット
Ctrl+]    現在の単語を補完
Alt+3     コメント行 / コメント行の解除
Alt+U     最後の操作を元に戻す(やり直し)
Alt+E     最後に元に戻した操作をやり直す

-

検索と置換:

Ctrl+Q    後方検索を開始
Ctrl+W    前方検索を開始
Alt+Q     次の検索を逆方向に検索
Alt+W     次の検索を前方に検索
Alt+R     置換を開始

-

削除:

Ctrl+H    カーソルの前の文字を削除
Ctrl+D    カーソル下の文字を削除
Alt+Bsp   左側の単語を削除
Ctrl+Del    右側の単語を削除
Alt+Del    現在の行を削除

-

操作:

Ctrl+T    コマンドを実行
Ctrl+J    両端揃え
Alt+J     バッファ全体を正当化
Alt+B     構文チェックを実行
Alt+F     formatter/fixer/arranger を実行
Alt+:     マクロの記録開始/停止
Alt+;     マクロの再生

-

移動:

Ctrl+B    1文字後ろに
Ctrl+F    1文字進む
Ctrl+←   1単語後ろに
Ctrl+→   1単語進む
Ctrl+A    行頭へ移動
Ctrl+E    行末へ移動
Ctrl+P    1行上へ移動
Ctrl+N    1行下へ移動
Ctrl+↑    前のブロックへ移動
Ctrl+↓    次のブロックへ移動
Ctrl+Y    1ページ上へ移動
Ctrl+V    1ページ下へ移動
Alt+\    バッファの先頭へ移動
Alt+/    バッファの最後へ移動

-

特別な動作:

Alt+G     指定した行に移動
Alt+]     対のカッコに移動
Alt+↑    ビューポートを上にスクロール
Alt+↓    ビューポートを下にスクロール
Alt+<    前のバッファに切替え
Alt+>    後続のバッファに切替え

-

情報:

Ctrl+C    カーソル位置を表示
Alt+D     行数/単語数/文字数を表示
Ctrl+G    ヘルプ テキストを表示(ヘルプ表示)

-

その他:

Alt+A    マークのオン/オフ
Tab      マークされた領域をインデント
Shift+Tab  マークされた領域のインデント解除
Alt+V     次のキーストロークを逐語入力する
Alt+N     行番号を表示/非表示
Alt+P     空白を表示/非表示
Alt+X     ヘルプ ラインを表示/非表示
Ctrl+L    画面をリフレッシュ

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

3. 参考: 「nano」の設定ファイル:

-

1). 「EndeavourOS」(i3-wm) での「nano」の設定ファイル:

$ cat ~/.nanorc
:
include /usr/share/nano/*.nanorc
include /usr/share/nano-syntax-highlighting/*.nanorc

→読み込む定義ファイルを指定(すべてのファイルが指定されていました)

-

2). 「nano」のプログラム言語別のハイライト表示の定義ファイル:

$ ls /usr/share/nano/*.nanorc
:
/usr/share/nano/asm.nanorc        /usr/share/nano/java.nanorc        /usr/share/nano/php.nanorc
/usr/share/nano/autoconf.nanorc   /usr/share/nano/javascript.nanorc  /usr/share/nano/po.nanorc
/usr/share/nano/awk.nanorc        /usr/share/nano/json.nanorc        /usr/share/nano/python.nanorc
/usr/share/nano/c.nanorc          /usr/share/nano/lua.nanorc         /usr/share/nano/ruby.nanorc
/usr/share/nano/changelog.nanorc  /usr/share/nano/makefile.nanorc    /usr/share/nano/rust.nanorc
/usr/share/nano/cmake.nanorc      /usr/share/nano/man.nanorc         /usr/share/nano/sh.nanorc
/usr/share/nano/css.nanorc        /usr/share/nano/markdown.nanorc    /usr/share/nano/sql.nanorc
/usr/share/nano/default.nanorc    /usr/share/nano/nanohelp.nanorc    /usr/share/nano/tcl.nanorc
/usr/share/nano/elisp.nanorc      /usr/share/nano/nanorc.nanorc      /usr/share/nano/tex.nanorc
/usr/share/nano/email.nanorc      /usr/share/nano/nftables.nanorc    /usr/share/nano/texinfo.nanorc
/usr/share/nano/go.nanorc         /usr/share/nano/objc.nanorc        /usr/share/nano/xml.nanorc
/usr/share/nano/groff.nanorc      /usr/share/nano/ocaml.nanorc       /usr/share/nano/yaml.nanorc
/usr/share/nano/guile.nanorc      /usr/share/nano/patch.nanorc
/usr/share/nano/html.nanorc       /usr/share/nano/perl.nanorc

-

3). 「nano」のハイライト表示の定義ファイル:

$ ls /usr/share/nano-syntax-highlighting/*.nanorc
:
/usr/share/nano-syntax-highlighting/Dockerfile.nanorc    /usr/share/nano-syntax-highlighting/lua.nanorc
/usr/share/nano-syntax-highlighting/Rnw.nanorc           /usr/share/nano-syntax-highlighting/m3u.nanorc
/usr/share/nano-syntax-highlighting/apacheconf.nanorc    /usr/share/nano-syntax-highlighting/makefile.nanorc
/usr/share/nano-syntax-highlighting/arduino.nanorc       /usr/share/nano-syntax-highlighting/man.nanorc
/usr/share/nano-syntax-highlighting/asciidoc.nanorc      /usr/share/nano-syntax-highlighting/markdown.nanorc
/usr/share/nano-syntax-highlighting/asm.nanorc           /usr/share/nano-syntax-highlighting/moonscript.nanorc
/usr/share/nano-syntax-highlighting/awk.nanorc           /usr/share/nano-syntax-highlighting/mpdconf.nanorc
/usr/share/nano-syntax-highlighting/batch.nanorc         /usr/share/nano-syntax-highlighting/mutt.nanorc
/usr/share/nano-syntax-highlighting/c.nanorc             /usr/share/nano-syntax-highlighting/nanorc.nanorc
/usr/share/nano-syntax-highlighting/clojure.nanorc       /usr/share/nano-syntax-highlighting/nginx.nanorc
/usr/share/nano-syntax-highlighting/cmake.nanorc         /usr/share/nano-syntax-highlighting/nmap.nanorc
/usr/share/nano-syntax-highlighting/coffeescript.nanorc  /usr/share/nano-syntax-highlighting/ocaml.nanorc
/usr/share/nano-syntax-highlighting/colortest.nanorc     /usr/share/nano-syntax-highlighting/octave.nanorc
/usr/share/nano-syntax-highlighting/conf.nanorc          /usr/share/nano-syntax-highlighting/patch.nanorc
/usr/share/nano-syntax-highlighting/conky.nanorc         /usr/share/nano-syntax-highlighting/peg.nanorc
/usr/share/nano-syntax-highlighting/creole.nanorc        /usr/share/nano-syntax-highlighting/perl.nanorc
/usr/share/nano-syntax-highlighting/csh.nanorc           /usr/share/nano-syntax-highlighting/perl6.nanorc
/usr/share/nano-syntax-highlighting/csharp.nanorc        /usr/share/nano-syntax-highlighting/php.nanorc
/usr/share/nano-syntax-highlighting/css.nanorc           /usr/share/nano-syntax-highlighting/pkg-config.nanorc
/usr/share/nano-syntax-highlighting/csv.nanorc           /usr/share/nano-syntax-highlighting/pkgbuild.nanorc
/usr/share/nano-syntax-highlighting/cython.nanorc        /usr/share/nano-syntax-highlighting/po.nanorc
/usr/share/nano-syntax-highlighting/dot.nanorc           /usr/share/nano-syntax-highlighting/pov.nanorc
/usr/share/nano-syntax-highlighting/dotenv.nanorc        /usr/share/nano-syntax-highlighting/powershell.nanorc
/usr/share/nano-syntax-highlighting/elixir.nanorc        /usr/share/nano-syntax-highlighting/privoxy.nanorc
/usr/share/nano-syntax-highlighting/email.nanorc         /usr/share/nano-syntax-highlighting/prolog.nanorc
/usr/share/nano-syntax-highlighting/erb.nanorc           /usr/share/nano-syntax-highlighting/properties.nanorc
/usr/share/nano-syntax-highlighting/etc-hosts.nanorc     /usr/share/nano-syntax-highlighting/pug.nanorc
/usr/share/nano-syntax-highlighting/fish.nanorc          /usr/share/nano-syntax-highlighting/puppet.nanorc
/usr/share/nano-syntax-highlighting/fortran.nanorc       /usr/share/nano-syntax-highlighting/python.nanorc
/usr/share/nano-syntax-highlighting/fsharp.nanorc        /usr/share/nano-syntax-highlighting/reST.nanorc
/usr/share/nano-syntax-highlighting/gemini.nanorc        /usr/share/nano-syntax-highlighting/rpmspec.nanorc
/usr/share/nano-syntax-highlighting/genie.nanorc         /usr/share/nano-syntax-highlighting/ruby.nanorc
/usr/share/nano-syntax-highlighting/gentoo.nanorc        /usr/share/nano-syntax-highlighting/rust.nanorc
/usr/share/nano-syntax-highlighting/git.nanorc           /usr/share/nano-syntax-highlighting/scala.nanorc
/usr/share/nano-syntax-highlighting/gitcommit.nanorc     /usr/share/nano-syntax-highlighting/sed.nanorc
/usr/share/nano-syntax-highlighting/glsl.nanorc          /usr/share/nano-syntax-highlighting/sh.nanorc
/usr/share/nano-syntax-highlighting/go.nanorc            /usr/share/nano-syntax-highlighting/sieve.nanorc
/usr/share/nano-syntax-highlighting/gophermap.nanorc     /usr/share/nano-syntax-highlighting/sls.nanorc
/usr/share/nano-syntax-highlighting/gradle.nanorc        /usr/share/nano-syntax-highlighting/sparql.nanorc
/usr/share/nano-syntax-highlighting/groff.nanorc         /usr/share/nano-syntax-highlighting/sql.nanorc
/usr/share/nano-syntax-highlighting/haml.nanorc          /usr/share/nano-syntax-highlighting/svn.nanorc
/usr/share/nano-syntax-highlighting/haskell.nanorc       /usr/share/nano-syntax-highlighting/swift.nanorc
/usr/share/nano-syntax-highlighting/hcl.nanorc           /usr/share/nano-syntax-highlighting/systemd.nanorc
/usr/share/nano-syntax-highlighting/html.j2.nanorc       /usr/share/nano-syntax-highlighting/tcl.nanorc
/usr/share/nano-syntax-highlighting/html.nanorc          /usr/share/nano-syntax-highlighting/tex.nanorc
/usr/share/nano-syntax-highlighting/i3.nanorc            /usr/share/nano-syntax-highlighting/toml.nanorc
/usr/share/nano-syntax-highlighting/ical.nanorc          /usr/share/nano-syntax-highlighting/ts.nanorc
/usr/share/nano-syntax-highlighting/ini.nanorc           /usr/share/nano-syntax-highlighting/twig.nanorc
/usr/share/nano-syntax-highlighting/inputrc.nanorc       /usr/share/nano-syntax-highlighting/vala.nanorc
/usr/share/nano-syntax-highlighting/jade.nanorc          /usr/share/nano-syntax-highlighting/verilog.nanorc
/usr/share/nano-syntax-highlighting/java.nanorc          /usr/share/nano-syntax-highlighting/vi.nanorc
/usr/share/nano-syntax-highlighting/javascript.nanorc    /usr/share/nano-syntax-highlighting/x11basic.nanorc
/usr/share/nano-syntax-highlighting/js.nanorc            /usr/share/nano-syntax-highlighting/xml.nanorc
/usr/share/nano-syntax-highlighting/json.nanorc          /usr/share/nano-syntax-highlighting/xresources.nanorc
/usr/share/nano-syntax-highlighting/keymap.nanorc        /usr/share/nano-syntax-highlighting/yaml.nanorc
/usr/share/nano-syntax-highlighting/kickstart.nanorc     /usr/share/nano-syntax-highlighting/yum.nanorc
/usr/share/nano-syntax-highlighting/kotlin.nanorc        /usr/share/nano-syntax-highlighting/zig.nanorc
/usr/share/nano-syntax-highlighting/ledger.nanorc        /usr/share/nano-syntax-highlighting/zsh.nanorc
/usr/share/nano-syntax-highlighting/lisp.nanorc          /usr/share/nano-syntax-highlighting/zshrc.nanorc

-

4). 「nano」の設定ファイル(デフォルトの設定): ★

日本語のコメント行は、実際にはありません。
わかりやすくするために追記しました。

-

コメントを確認しておくと、nano の持つ機能と、変更の仕方がわかります。

-

変更するときは、こちらではなく、「~/.nanorc」を作成して変更点を追記します。

-

$ cat /etc/nanorc
## Sample initialization file for GNU nano.
### GNU nano の初期化ファイルのサンプル
##
## For the options that take parameters, the default value is shown.
## Other options are unset by default.  To make sure that an option
## is disabled, you can use "unset <option>".
### パラメータのあるオプションは、デフォルト値を表示してます。
### その他のオプションは、デフォルトでは設定されていません。
### オプションが無効かの確認は、「unset <option>」を使います。
##
## Characters that are special in a shell should not be escaped here.
## Inside string parameters, quotes should not be escaped -- the last
## double quote on the line will be seen as the closing quote.
### シェルで特殊な文字は、ここでエスケープしないでください。
### 文字列パラメーター内では、引用符をエスケープしないでください。
### 行の最後の二重引用符は、終了引用符と見なされます。

## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
## stop at word ends instead of at beginnings.
### 「次の単語」(Ctrl+「→」)と「単語の右を切る」(Ctrl+Delete) を、
### 単語の先頭ではなく末尾で停止させます:
# set afterends

## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
### ソフト行折り返しが有効な場合、常に画面の端ではなく、
### 空白 (タブとスペース) で行を折り返します:
# set atblanks

## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
### 新しく作成された行を、前の行と同じ数のタブ、
### および/またはスペースに自動的にインデントします。
### 前の行が段落の始まりの場合は、次の行にインデントします:
# set autoindent

## Back up files to the current filename plus a tilde.
### ファイルを「現在のファイル名~」にバックアップします: ☆
# set backup

## The directory to put unique backup files in.
### 一意のバックアップ ファイルを配置するディレクトリ: ☆
# set backupdir ""

## Use bold text instead of reverse video text.
### 反転したテキストの代わりに、太字のテキストを使います:
# set boldtext

## Treat any line with leading whitespace as the beginning of a paragraph.
### 先頭に空白がある行は、段落の始まりとして扱います:
# set bookstyle

## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters.  Only closing punctuation,
## optionally followed by these closing brackets, can end sentences.
### 段落のときに閉じ括弧として扱われる文字。
### これには空白文字を含めることはできません。
### 文を終了できるのは、オプションで指定する
### これらの閉じ括弧が後に続く閉じ括弧のみです:
# set brackets ""')>]}"

## Automatically hard-wrap the current line when it becomes overlong.
### 現在の行が長くなりすぎると、自動的にハードラップします:
# set breaklonglines

## Do case-sensitive searches by default.
### デフォルトで大文字と小文字を区別して検索します:
# set casesensitive

## Constantly display the cursor position in the status bar or minibar.
### ステータスバーまたはミニバーに常にカーソル位置を表示します:
# set constantshow

## Use cut-from-cursor-to-end-of-line by default.
### デフォルトでは、カーソルから行末までのカットを使用します:
# set cutfromcursor

## Do not use the line below the title bar, leaving it entirely blank.
### タイトル バーの下の行は使用せず、完全に空白のままにします:
# set emptyline

## Set the target width for automatic hard-wrapping and for justifying
## paragraphs.  If the specified value is 0 or less, the wrapping point
## will be the terminal's width minus this number.
### 自動ハードラップと段落の両端揃えのターゲット幅を設定します。
### 指定値が 0 以下の場合、折り返し点は、
### 端末の幅からこの数値を引いた値になります:
# set fill -8

## Draw a vertical stripe at the given column, to help judge text width.
## (This option does not have a default value.)
### テキストの幅がわかりやすいように、指定された列に縦線を引きます:
###   (このオプションにはデフォルト値がありません。)
# set guidestripe 75

## Remember the used search/replace strings for the next session.
### 次のセッションのために、使用した検索/置換文字列を記憶します:
# set historylog

## Display a "scrollbar" on the righthand side of the edit window.
### 編集ウィンドウの右側に「スクロールバー」を表示します: ☆
# set indicator

## Scroll the buffer contents per half-screen instead of per line.
### 行ごとではなく、半画面ごとにバッファの内容をスクロールします:
# set jumpyscrolling

## Display line numbers to the left (and any anchors in the margin).
### 左側に行番号を表示 (および余白にアンカーを表示):
### (●● 行番号表示したいとき、下記のコメント解除)★
# set linenumbers

## Enable vim-style lock-files.  This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa.  There are
## no plans to implement vim-style undo state in these files.
### vim スタイルのロック ファイルを有効にします。
###  これは、編集しようとしているファイルを編集していること、
### およびその逆であることをユーザに知らせるためのものです:
# set locking

## Fall back to slow libmagic to try and determine an applicable syntax.
### 遅い libmagic に後退して、適用可能な構文を試して判断します:
# set magic

## The opening and closing brackets that are found by a matching-bracket
## search.  This may not contain blank characters.  The opening brackets
## must come before the closing ones, and they must be in the same order.
### 閉じ括弧の検索に使う「左の閉じ括弧」と「右の閉じ括弧」の指定には
### 空白文字を含めることはできません。
### 「左の閉じ括弧」は「右の閉じ括弧」より前に来なければならず、
### それらは同じ順序でなければなりません:
# set matchbrackets "(<[{)>]}"

## Suppress the title bar and show the filename plus a cursor-position
## percentage in the space of the status bar.
### タイトル バーを非表示にし、ステータス バーの領域に
### ファイル名とカーソル位置のパーセンテージを表示します:
# set minibar

## Enable mouse support, if available for your system.  When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts.  The mouse will work in the
## X Window System, and on the console when gpm is running.
### システムで利用可能な場合は、マウスのサポートを有効にします。
### 有効にすると、マウス クリックを使用してカーソルを配置できます。☆
### マークを設定(ダブルクリック)し、ショートカットを実行します。
### マウスは X Window System で動作し、gpm が実行されている場合は
### コンソールで動作します:
# set mouse

## Switch on multiple file buffers (inserting a file will put it into
## a separate buffer).
### 複数のファイル バッファをオンにします。
###  (ファイルを挿入すると、別のバッファに入れられます): ☆
# set multibuffer

## Don't convert files from DOS/Mac format.
### DOS/Mac フォーマットからファイルを変換しないでください:
# set noconvert

## Don't display the helpful shortcut lists at the bottom of the screen.
### 画面の下部に役立つショートカットの一覧を表示しません: ☆
# set nohelp

## Don't automatically add a newline when a file does not end with one.
### ファイルが改行で終わっていない場合、自動的に改行を追加しません:
# set nonewlines

## Set operating directory.  nano will not read or write files outside
## this directory and its subdirectories.  Also, the current directory
## is changed to here, so any files are inserted from this dir.  A blank
## string means the operating-directory feature is turned off.
### 操作するディレクトリを設定します。
### nano は、このディレクトリとそのサブディレクトリ以外の
### ファイルを読み書きしません。
### 現在のディレクトリがここに変更されるため、ファイルは
### このディレクトリから挿入されます。
### 空白の指定は、この機能がオフになっていることを意味します: ☆
# set operatingdir ""

## Remember the cursor position in each file for the next editing session.
### 次の編集のために、各ファイルのカーソル位置を記憶します: ☆
# set positionlog

## Preserve the XON and XOFF keys (^Q and ^S).
### XON および XOFF キー (^Q および ^S) を保持します:
# set preserve

## The characters treated as closing punctuation when justifying paragraphs.
## This may not contain blank characters.  Only these closing punctuations,
## optionally followed by closing brackets, can end sentences.
### 段落を正当化する際に、閉じ句読点として扱われる文字を指定。
### これには空白文字を含めることはできません。
### 文を終了できるのは、これらの閉じ句読点のみであり、
### オプションで閉じ括弧が続きます:
# set punct "!.?"

## Make status-bar messages disappear after 1 keystroke instead of after 20.
### ステータス バーのメッセージが 20 回ではなく 1 回のキーストロークで消えます:
# set quickblank

## The regular expression that matches quoting characters in email
## or line-comment introducers in source code.  The default is:
### 電子メールの引用文字またはソース コードの行コメント
### などの紹介に一致する正規表現。
### デフォルトは次のとおりです:
# set quotestr "^([     ]*([!#%:;>|}]|//))+"

## Try to work around a mismatching terminfo terminal description.
### terminfo の端末記述の不一致を回避します:
# set rawsequences

## Fix Backspace/Delete confusion problem.
### Backspace/Delete の混乱の問題を修正:
# set rebinddelete

## Do regular-expression searches by default.
## Regular expressions are of the extended type (ERE).
### デフォルトで正規表現検索を行います。
### 正規表現は拡張型 (ERE) です:
# set regexp

## Save a changed buffer automatically on exit; don't prompt.
### 終了時に変更されたバッファを自動的に保存します。
### プロンプトなし:
# set saveonexit

## Put the cursor on the highlighted item in the file browser, and
## show the cursor in the help viewer; useful for people who use a
## braille display and people with poor vision.
### ファイル ブラウザで強調表示された項目にカーソルを置き、
### ヘルプ ビューアにカーソルを表示します。
### 点字ディスプレイを使用している人や視力の弱い人に便利です:
# set showcursor

## Make the Home key smarter: when Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards).  If the
## cursor is already at that position, it will jump to the true start
## of the line (the left edge).
### 行の非空白文字の先頭以外の場所で Home を押すと、
### カーソルはその先頭にジャンプします (前方または後方)。
### カーソルがすでにその位置にある場合は、
### 行の真の開始点 (左端) にジャンプします:
# set smarthome

## Spread overlong lines over multiple screen lines.
### 長すぎる行を複数のスクリーン行に広げます:
# set softwrap

## Use this spelling checker instead of the internal one.  This option
## does not have a default value.
### 内部のスペル チェックではなく、このスペル チェックを使用します。
### このオプションにはデフォルト値がありません:
# set speller "aspell -x -c"

## Use the end of the title bar for some state flags: I = auto-indenting,
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
### タイトル バーの末尾をいくつかの状態フラグに使用します。
### I = 自動インデント、M = マーク、L = 長い行のハード ラップ、
### R = 録音、S = ソフト ラップ:
# set stateflags

## Use this tab size instead of the default; it must be greater than 0.
### デフォルトの代わりにこのタブ サイズを使用します。☆
### 0 より大きくなければなりません:
# set tabsize 8

## Convert each typed tab to the fitting number of spaces.
### 入力された各タブを適切な数のスペースに変換します: ☆
# set tabstospaces

## Snip whitespace at the end of lines when justifying or hard-wrapping.
### 正当化またはハードラップする場合は、行末の空白を切り取ります:
# set trimblanks

## Save files by default in Unix format (also when they were DOS or Mac).
### デフォルトでファイルを Unix 形式で保存します。
###  (DOS または Mac の場合も同様)
# set unix

## The two single-column characters used to display the first characters
## of tabs and spaces.  187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
## The default when in a UTF-8 locale:
### タブとスペースの最初の文字を表示するために使用される 2 つの単一列文字。
### ISO 8859-1 では 187 (Unicode では 0000BB)、
### ISO-8859-1 では 183 (Unicode では 0000B7) が適切な値のようです。
### UTF-8 ロケールの場合のデフォルト:
# set whitespace "»·"
## The default otherwise:
### それ以外の場合のデフォルト:
# set whitespace ">."

## Detect word boundaries differently by treating punctuation
## characters as parts of words.
### 句読点を単語の一部として扱うことで、
### 単語の境界を別の方法で検出します:
# set wordbounds

## The characters (besides alphanumeric ones) that should be considered
## as parts of words.  This option does not have a default value.  When
## set, it overrides option 'set wordbounds'.
### 単語の一部と見なされる文字 (英数字以外)。
### このオプションにはデフォルト値がありません。
### 設定すると、オプション 'set wordbounds' がオーバーライドされます。
# set wordchars "<_>."

## Let an unmodified Backspace or Delete erase the marked region (instead
## of a single character, and without affecting the cutbuffer).
### 変更されていない Backspace または Delete で、
### マークされた領域を消去します
### (単一の文字ではなく、カットバッファに影響を与えずに)
# set zap

## Hide the bars plus help lines and use the whole terminal as edit area.
### バーとヘルプ行を非表示にして、
### 「端末」画面全体を編集エリアとして使用します: ☆
# set zero


## Paint the interface elements of nano.  These are examples; there are
## no colors by default, except for errorcolor and spotlightcolor.
### nano のインターフェース要素の色指定。 これらは例です。 ☆
### errorcolor と spotlightcolor を除いて、デフォルトでは色はありません。
# set titlecolor bold,white,blue
# set promptcolor lightwhite,grey
# set statuscolor bold,white,green
# set errorcolor bold,white,red
# set spotlightcolor black,lightyellow
# set selectedcolor lightwhite,magenta
# set stripecolor ,yellow
# set scrollercolor cyan
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green

## In root's .nanorc you might want to use:
### ルートの .nanorc では、次を使用できます:
# set titlecolor bold,white,magenta
# set promptcolor black,yellow
# set statuscolor bold,white,magenta
# set errorcolor bold,white,red
# set spotlightcolor black,orange
# set selectedcolor lightwhite,cyan
# set stripecolor ,yellow
# set scrollercolor magenta
# set numbercolor magenta
# set keycolor lightmagenta
# set functioncolor magenta


## === Syntax coloring ===
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
### === 構文の色分け ===
### すべての詳細については、「man nanorc」の
### 「SYNTAX HIGHLIGHTING」(構文の強調表示) を参照。

## To include most of the existing syntax definitions, you can do:
### 既存の構文定義のほとんどを含めるには、次のようにします: ☆
# include "/usr/share/nano/*.nanorc"

## Or you can select just the ones you need.  For example:
### または、必要なものだけを選択することもできます。例えば: ☆
# include "/usr/share/nano/html.nanorc"
# include "/usr/share/nano/python.nanorc"
# include "/usr/share/nano/sh.nanorc"

## In /usr/share/nano/extra/ you can find some syntaxes that are
## specific for certain distros or for some less common languages.
### /usr/share/nano/extra/ には、特定のディストリビューションや
### あまり一般的でない言語に固有の構文がいくつかあります。

## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
### 'tabsize' と 'tabstospaces' の設定に関係なく、
### Python ファイルを編集するときに
### <Tab> が常に 4 つのスペースを生成する必要がある場合:
# extendsyntax python tabgives "    "

## If <Tab> should always produce an actual TAB when editing a Makefile:
### Makefile の編集時に <Tab> が常に実際の TAB を生成する必要がある場合:
# extendsyntax makefile tabgives "  "


## === Key bindings ===
## For all details, see 'man nanorc', section REBINDING KEYS.
### === キーバインディング ===
### すべての詳細については、「man nanorc」の
### 「REBINDING KEYS」(キーの再バインド)を参照。

## If you want to suspend nano with one keystroke (instead of with ^T^Z):
### nano を 1回のキーストロークで (^T^Z ではなく) サスペンドしたい場合:
# bind ^Z suspend main

## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
## the ASCII character for backspace, so it is bound by default to the
## backspace function.  The <Backspace> key itself produces a different
## keycode, which is hard-bound to the backspace function.  So, if you
## normally use <Backspace> for backspacing and not ^H, you can make
## <Ctrl+Backspace> delete the word to the left of the cursor with:
### <Ctrl+Delete> キーストロークは、カーソルの右側の単語を削除します。
### 一部の端末では、<Ctrl+Backspace> キーストロークにより、
### バックスペースの ASCII 文字である ^H が生成されるため、
### デフォルトでバックスペース機能にバインドされます。
### <Backspace> キー自体が別のキーコードを生成し、
### これは backspace 関数にハードバインドされています。
### したがって、通常、バックスペースに ^H ではなく
### <Backspace> を使用する場合、次のように <Ctrl+Backspace> で
### カーソルの左側の単語を削除できます:
# bind ^H chopwordleft main

## For a more mnemonic Comment keystroke (overriding Cut-from-cursor):
### よりニーモニックなコメント キーストロークの場合 (Cut-from-cursor を上書き):
# bind M-K comment main

## If you want ^L to just refresh the screen and not center the cursor:
### ^L で画面を更新するだけで、カーソルを中央に配置しない場合:
# bind ^L refresh main

## When you sometimes type M-J instead of M-K, or M-T instead of M-R:
### M-K の代わりに M-J を入力したり、M-R の代わりに M-T を入力したりする場合:
# unbind M-J main
# unbind M-T main
## (Those functions are still accessible through ^T^J and ^T^V.)
### (これらの機能は、^T^J および ^T^V から引き続きアクセスできます。)

## For quickly uppercasing or lowercasing the word under or after the cursor.
## (These effectively select a word and pipe it through a sed command.)
### カーソルの下または後の単語をすばやく大文字または小文字にします。
### (これらは効果的に単語を選択し、それを sed コマンドにパイプします)
#bind Sh-M-U "{nextword}{mark}{prevword}{execute}|sed 's/.*/\U&/'{enter}" main
#bind Sh-M-L "{nextword}{mark}{prevword}{execute}|sed 's/.*/\L&/'{enter}" main

## For copying a marked region to the system clipboard:
### マークされた領域をシステムのクリップボードにコピーするには: ☆
# bind Sh-M-T "{execute}|xsel -ib{enter}{undo}" main

## For snipping trailing blanks when you save a file:
### ファイルを保存するときに末尾の空白を切り取るには:
# bind ^S "{execute}| sed 's/\s\+$//' {enter}{savefile}" main

## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
### nano にもっと「通常の」キー割り当てを持たせたい場合は、
### ^O で開く、^F で検索、^H でヘルプ、^Q で終了する場合は、
### これらのコメントを外します:
### (●●「通常の」キー操作にしたいとき、以下のコメントを解除)★
#bind ^X cut main
#bind ^C copy main
#bind ^V paste all
#bind ^Q exit all
#bind ^S savefile main
#bind ^W writeout main
#bind ^O insert main
#set multibuffer
#bind ^H help all
#bind ^H exit help
#bind ^F whereis all
#bind ^G findnext all
#bind ^B wherewas all
#bind ^D findprevious all
#bind ^R replace main
#bind ^Z undo main
#bind ^Y redo main
#unbind ^K main
#unbind ^U all
#unbind ^N main
#unbind ^Y all
#unbind M-J main
#unbind M-T main
#bind ^A mark main
#bind ^P location main
#bind ^T gotoline main
#bind ^T gotodir browser
#bind ^T cutrestoffile execute
#bind ^L linter execute
#bind ^E execute main

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

4. 参考: 「nano」の設定を個人的にカスタマイズ:

-

システムに配置されている設定ファイルではなく、ホームにある設定ファイルを変更しました:

-

1). デフォルトの設定:

$ cat ~/.nanorc
include /usr/share/nano/*.nanorc
include /usr/share/nano-syntax-highlighting/*.nanorc

→デフォルトは、すべての定義ファイルを読み込む設定です。

-


2). 行番号を表示するように設定する場合:

$ xed ~/.nanorc

↓ 下記の行を追加:

## Display line numbers to the left (and any anchors in the margin).
set linenumbers

→左側に行番号を表示。

ただし、マウスでの範囲指定を多用する場合は、行番号まで含んでしまうので不便です。

-


3). 行番号の表示は、上記ではなく、起動時にパラメータ「-l」(小文字のエル)を使う方が便利:

-

(1). 行番号を表示しない起動:
$ nano ファイル名

-

(2). 行番号を表示する起動:
$ nano -l ファイル名

→「-l」小文字のエル

-


4). 他のエディタで使われている「一般的な」キー操作に変更したい場合:

$ xed ~/.nanorc

↓ 下記の行を追加:

## If you would like nano to have keybindings that are more "usual":
bind ^X cut main
bind ^C copy main
bind ^V paste all
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
set multibuffer
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^B wherewas all
bind ^D findprevious all
bind ^R replace main
bind ^Z undo main
bind ^Y redo main
unbind ^K main
unbind ^U all
unbind ^N main
unbind ^Y all
unbind M-J main
unbind M-T main
bind ^A mark main
bind ^P location main
bind ^T gotoline main
bind ^T gotodir browser
bind ^T cutrestoffile execute
bind ^L linter execute
bind ^E execute main

→nano の操作を「一般的なエディタの」操作に近づけます:

行の「カット」は ^X、行の「コピー」は ^C、行の「貼付け」 は ^V、「検索」は ^F、Help 「ヘルプ」は ^H、 「開く」は ^O、「ファイル保存」は ^S、「終了」は ^Q などです。

-

行が対象になっていることに注意。範囲指定したいときは、開始位置で「^A」としてマーク指定します。

-

-


5). 個人的にカスタマイズした設定ファイル: ★

$ xed ~/.nanorc

↓ 下記をすべて貼付け。先頭部分の重複(たぶん、2行)は削除

include /usr/share/nano/*.nanorc
include /usr/share/nano-syntax-highlighting/*.nanorc

## Display line numbers to the left (and any anchors in the margin).
#set linenumbers

## If you would like nano to have keybindings that are more "usual":
bind ^X cut main
bind ^C copy main
bind ^V paste all
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
set multibuffer
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^B wherewas all
bind ^D findprevious all
bind ^R replace main
bind ^Z undo main
bind ^Y redo main
unbind ^K main
unbind ^U all
unbind ^N main
unbind ^Y all
unbind M-J main
unbind M-T main
bind ^A mark main
bind ^P location main
bind ^T gotoline main
bind ^T gotodir browser
bind ^T cutrestoffile execute
bind ^L linter execute
bind ^E execute main

-

行番号の表示は、コマンド起動時に指定するので、ここでは無効にしました。

マウスを使わないならコメント解除。

-

画面下のガイドも設定に合わせて変更されました:
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 終了        ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

→操作がわからないときは Ctrl+ H します。Ctrl+ H でヘルプが閉じます。

-

^H」は、「Ctrl + H」を押します。

M-E」は、「Alt + E」を押します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

5. カスタマイズした後に「ファイルの編集」を試してみる:

-

カスタマイズ後は、ショートカットキーが通常のエディタと近いことで、逆に予想していた機能と違うことに気付きました。

-

留意すること:

-

(1). カット、コピー、ペーストの対象は「行」です

カット、コピー、するときは、その行にカーソルを移動するだけです。どの位置でもかまいません。

-

(2). 範囲指定した部分を貼付けたいときは、

頭の位置で Ctrl+A(マーク指定開始)して、矢印キーでお尻まで動かし、Ctrl+C でバッファにコピーします。

-

(3). マウスを使うときは、

マウスでコピーしたい範囲を指定(ドラッグでも、マウスのダブルクリック、トリプルクリックでも可)

矢印キーで貼付けたいところにカーソルを移動

マウスの中央ボタンを押すか、右クリックで「貼付け」

→カーソル位置に貼付けされます。

-

(4). カーソルの位置が重要。「マウスカーソルの位置は無効」なことに注意。

-


1). 「ファイルを開く」を使うとき:

→「nano」の起動前に、そのディレクトリに移動しておくのが無難です。

-

(1). ディレクトリに移動
$ cd ~/ドキュメント
$ ls
memo.md

$ nano

-

(2). 下記を入力
abc

def

-

(3). Ctrl+O オー(読み込み)
新しいバッファへ読み込むファイル [./ から]: 
^H ヘルプ                     M-F 新しいバッファ             ^X コマンドを実行
^C 取消                       M-N 変換しない                ^T ファイル一覧

→ファイル名を聞いてきます:

ファイル名がわかっているなら、「memo.md」と入力

-

もしくは、Ctrl+T(ファイル一覧)で、「memo.md」を矢印キーで選んで、Enter

-

→「memo.md」ファイルの内容が、別のバッファに読み込まれました。

左上に [2/2] と表示されます。

-

(4). 利用したい文字範囲までカーソルを動かし、頭の位置で Ctrl+A(マークを設置)

矢印キーでお尻まで動かします。(マウスは使わないこと)

-

(5). Ctrl+C(コピー)でカットバッファにコピーします。

→範囲選択は解除されました。

-

(6). Ctrl+Q で [2/2] のバッファを閉じます。

バッファを閉じずに、Alt+「←」でバッファを切替えてもよいです。

誤って編集しないように、すぐに閉じるのが無難。

-

(7). [1/1] のバッファで、貼り付けたい位置にカーソルを矢印キーで動かし、Ctrl+V(貼り付け)。
abc 
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

-

(8). 別のファイルに保存したい部分だけ、範囲指定します。

頭の位置で Ctrl+A(マークを設置)して、矢印キーでお尻まで動かします。反転表示されます。

-

(9). Ctrl+W(書き込み)

ファイルに書き込み:

「test.md」と入力して、Enter

-

ファイル "test.md" が既に存在します、上書きしてよいですか?
 Y はい  
 N いいえ       ^C 取消

→「y」と入力

-

→範囲指定部分が「test.md」ファイルに書き込まれました。

-

(10). Ctrl+O オー(読み込み)で、ファイルを読み込んでみます。
新しいバッファへ読み込むファイル [./ から]: 
^H ヘルプ                     M-F 新しいバッファ             ^X コマンドを実行
^C 取消                       M-N 変換しない                ^T ファイル一覧

→ファイル名がわかっているなら、「test.md」と入力

-

もしくは、Ctrl+T(ファイル一覧)で、「test.md」を矢印キーで選んで、Enter

-

→「test.md」ファイルの内容が、別のバッファに読み込まれました。

  [2/2]                                     /home/ubn/ドキュメント/test.md                                                
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

→左上に [2/2] と表示されています。

-


2). ファイルに保存したり、読み込んだりするとき:

ファイルマネージャが開かないので、見づらい、Ctrl+T(ファイル一覧)ではなく、

-

(1). Ctrl+E(コマンドを実行)で、別のバッファにファイル一覧を表示しておいても良いです。
新しいバッファで実行するコマンド: 
^H ヘルプ               M-F 新しいバッファ      ^S スペルチェック       ^J 全て両端揃え         ^T 末尾まで切り取り
^C 取消                 M-\ パイプに送る        ^L 構文チェック         ^O 整形プログラム       ^Z 一時中断

→「pwd && ls」と入力して、Enter

  [2/2]                                             新しいバッファ                                              変更済み  
/home/ubn/ドキュメント
i3wm-shortcut-key.md
memo.md
test.md

→標準出力がバッファに取り込まれました。

-

(2). ここで保存したいファイル名を作っておくと便利です:
  [2/2]                                             新しいバッファ                                              変更済み  
 1 /home/ubn/ドキュメント
 2 i3wm-shortcut-key.md
 3 memo.md
 4 test.md
 5
 6 /home/ubn/ドキュメント/test.md   ←(保存したいファイル名)
 7

-

行表示していないときは、6 行目にカーソルを持っていき、Ctrl+P(位置)

                                  [ 行  6/8 (75%), 列  1/31 (  3%), 文字 55/81 (67%) ]

-

(3). 6 行目をマウスで範囲指定して、右クリック→「コピー」(クリップボードにコピー)

-

(4). Alt+「←」で、 [1/2]のバッファに切替えます。

-

(5). マウスの中央ボタンで貼付け

もしくは、マウスの右クリック→「貼付け」(クリップボードから貼付け)

-

(6). Ctrl+W(書き込み)でファイルに保存:
書き込むファイル:                                                                                                         
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

-

(7). Alt+A(末尾に追加)を試しました:
末尾に追加するファイル:                                                                                                   
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

→指定するファイルの末尾に、バッファの内容を追加します。

日本語だと逆にも取れるので「指定したファイルの末尾に追加:」が迷わないかも。

-

Ctrl+T(ファイル一覧)で、一覧表示:

                                           ディレクトリ: /home/ubn/ドキュメント/                                          
..                  (上位 dir)  i3wm-shortcut-key.md      3 KB  memo.md                  10 KB
test-ps-aux.md           35 KB  test.md                  57  B  wel2.sh                  87  B

→「wel2.sh」を矢印キーで選んで、Enter

---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md
ファイル "/home/ubn/ドキュメント/wel2.sh" が既に存在します、上書きしてよいですか?                                        
 Y はい
 N いいえ       ^C 取消

→「N」と入力して取り止め

-

一つ前の画面に戻りました:

書き込むファイル:                                                                                                         
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

-

(8). Alt+B(バックアップファイル)を試しました:
書き込むファイル [バックアップ]:                                                                                          
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

→新規ファイルだと、「ファイル一覧」で表示されません。

事前に控えておくか、「ファイル一覧」で確認してキャンセルしてやり直す必要があります。

→「wel2.sh-ORG」と入力

-

 GNU nano 7.1                                           wel2.sh-ORG 
---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md
                                                 [ 9 行を書き込みました ]
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 終了        ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

→修正していたバッファの内容が、違うファイルに保存され、 開いていたバッファも閉じてしまいました。

-

「バックアップ」とは、「名前を付けて保存」のことみたい。

今まで修正したバッファの内容が、新規に「wel2.sh-ORG」に保存されました。

通常の保存と同じだけど、修正した新規のバッファが閉じました。

バッファは「wel2.sh-ORG」を読み込んだ状態と同じなので保存時はファイル名に注意です。

-

(9). Ctrl+E(コマンドを実行)で確認:
新しいバッファで実行するコマンド: 
^H ヘルプ               M-F 新しいバッファ      ^S スペルチェック       ^J 全て両端揃え         ^T 末尾まで切り取り
^C 取消                 M-\ パイプに送る        ^L 構文チェック         ^O 整形プログラム       ^Z 一時中断

→「pwd && ls」と入力して、Enter

 [2/2]                                             新しいバッファ                                              変更済み  
/home/ubn/ドキュメント
i3wm-shortcut-key.md
memo.md
test.md
wel2.sh
wel2.sh-ORG

→新規に「wel2.sh-ORG」が作成されています。

期待していたのは、「wel2.sh」の後ろに追加するので、その修正前にバックアップとして「wel2.sh-ORG」を保存することでしたが、これだと、保存したファイル名が合っていません。違う名前で保存したほうが迷いません。

-

-

(10). [2/2] のバッファの最後に、使うためのコマンドを追加:
/home/ubn/ドキュメント
i3wm-shortcut-key.md
memo.md
test.md
wel2.sh
wel2.sh-ORG

mv wel2.sh-ORG wel2.sh-jyunnbi

-

(11). 最後の行をマウスでトリプルクリックして範囲選択 →右クリック→コピー(クリップボードにコピー)

-

(12). Ctrl+E(コマンドを実行):
新しいバッファで実行するコマンド: 
^H ヘルプ               M-F 新しいバッファ      ^S スペルチェック       ^J 全て両端揃え         ^T 末尾まで切り取り
^C 取消                 M-\ パイプに送る        ^L 構文チェック         ^O 整形プログラム       ^Z 一時中断

→右クリック→「貼付け」(クリップボードから貼付け)

→「mv wel2.sh-ORG wel2.sh-jyunnbi」と入力されたら、Enter

  [3/3]                                             新しいバッファ 

→空のバッファが開きました。標準出力がバッファに読み込まれるので、表示のないコマンドだと空になるみたい。

-

(13). Ctrl+E(コマンドを実行):

→「pwd && ls」と入力して、Enter

  [4/4]                                             新しいバッファ                                              変更済み  
/home/ubn/ドキュメント
i3wm-shortcut-key.md
memo.md
test-ps-aux.md
test.md
wel2.sh
wel2.sh-jyunnbi     ←(修正されました)

→これだと、別の「端末」を開いて、並行して実行した方が楽ですね。

Windows + V

Windows + Enter

$ cd ~/ドキュメント

$ ls -1
i3wm-shortcut-key.md
memo.md
test-ps-aux.md
test.md
wel2.sh
wel2.sh-jyunnbi

→マウスで範囲選択して、それを中央ボタンで貼付けできるので、作業効率が良いです。

-

(14). Ctrl+O オー(読み込み)で、「wel2.sh」ファイルを読み込み:
新しいバッファへ読み込むファイル [./ から]: 
^H ヘルプ                     M-F 新しいバッファ             ^X コマンドを実行
^C 取消                       M-N 変換しない                ^T ファイル一覧

-

Ctrl+T(ファイル一覧)で、一覧表示:

→「wel2.sh」を矢印キーで選んで、Enter

  [2/2]                                     /home/ubn/ドキュメント/wel2.sh
## Display line numbers to the left (and any anchors in the margin).
#set linenumbers

-

(15). Ctrl+W(書き込み)で「wel2-ORG.sh」ファイルに保存して退避:
書き込むファイル:                                                                                                         
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

「書き込むファイル: /home/ubn/ドキュメント/wel2.sh」

↓ 修正:

「書き込むファイル: /home/ubn/ドキュメント/wel2-ORG.sh」

→Enter

→「y」

-

(16). Ctrl+Q(閉じる)

-


3). やっと、次のステップの「末尾に追加」が試せます。

-

(1). リセット:
$ cp wel2-ORG.sh wel2.sh

-

(2). 「nano」をファイル名なしで起動:
$ nano
  [1/1]                                             新しいバッファ                                                        
                                                [ 新しいバッファ -- 0 行 ]
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 閉じる      ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

-

(3). Ctrl+O オー(読み込み)で、「wel2.sh-jyunnbi 」ファイルを読み込み:
新しいバッファへ読み込むファイル [./ から]: 
^H ヘルプ                     M-F 新しいバッファ             ^X コマンドを実行
^C 取消                       M-N 変換しない                ^T ファイル一覧

-

Ctrl+T(ファイル一覧)で、一覧表示:

→「wel2.sh-jyunnbi 」を矢印キーで選んで、Enter

  [2/2]                                     /home/ubn/ドキュメント/wel2.sh-jyunnbi
---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md
                                               [ wel2.sh-jyunnbi -- 9 行 ]
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 閉じる      ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

-

(4). Ctrl+W(書き込み)
  [2/2]                                 /home/ubn/ドキュメント/wel2.sh-jyunnbi       
---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md

書き込むファイル: /home/ubn/ドキュメント/wel2.sh-jyunnbi                                                                  
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

-

(5). Alt+A(末尾に追加)を試しました:
  [2/2]                                 /home/ubn/ドキュメント/wel2.sh-jyunnbi
---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md
末尾に追加するファイル:                                                                                                   
^H ヘルプ                     M-D DOS フォーマット          M-A 末尾に追加                M-B バックアップファイル
^C 取消                       M-M Mac フォーマット          M-P 先頭に追加                ^T ファイル一覧

-

Ctrl+T(ファイル一覧)で、一覧表示:

→「wel2.sh」を矢印キーで選んで、Enter

  [2/2]                                 /home/ubn/ドキュメント/wel2.sh-jyunnbi   
---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md
                                                 [ 9 行を書き込みました ]
^H ヘルプ      ^W 書き込み    ^F 検索        ^X 切り取り    ^E コマンドを実^P 位置        ^Z Undo        ^A マークを設置
^Q 閉じる      ^O 読み込み    ^R 置換        ^V 貼り付け    ^J 均等割付    ^T 行を指定    M-E Redo       ^C コピー

→あれっ、追加されたのか、上書き保存されたのか、わかりません。

-

(6). 別に起動している「端末」画面で確認:
$ cat wel2.sh
## Display line numbers to the left (and any anchors in the margin).
#set linenumbers

---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md

→追加されました。

-


4). 「端末」画面で実行した方が早いみたい:

-

(1). リセット:
$ cp wel2-ORG.sh wel2.sh

-

(2). ファイルを追加:
$ cat wel2.sh-jyunnbi >> wel2.sh

-

(3). 確認:
$ cat wel2.sh
## Display line numbers to the left (and any anchors in the margin).
#set linenumbers

---

abc
## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

def

/home/ubn/ドキュメント/test.md

-

-


5). わかったこと:

-

(1). 「端末」画面と並べて使った方が効率アップします

「ファイルの後ろや頭にファイルの内容を追加」する機能(メニュー項目)がありますが、 「端末」画面でコマンドを実行し、範囲指定して、バッファに中央ボタンで貼付け、が楽です。

-

(2). カーソルの移動に、マウスは使えないので注意。

マウスで範囲指定してそこを削除しようとして、別の場所が削除されたことがありました。 機能を理解していないと混乱します。

-

(3). 記憶場所は 3つ:
  • ファイルが読み込まれる「バッファ」→複数持てます。

  • 「nano」の中で、Ctrl+C や Ctrl+V でコピーされる「カットバッファ」

  • マウスで範囲指定「クリップボード」→システムの機能で、中央ボタンで貼付け

  • 「nano」の外で、Ctrl+C や Ctrl+V でコピーされる「クリップボード」→システムの機能で、中央ボタンで貼付け

-

(4). 「マウスで範囲指定」して、切り貼りするとき:

-

(5). 通常は「行単位」のコピーと貼付け:
  • その行にカーソルを移動して、Ctrl+C(でカットバッファにコピー)。

  • Ctrl+V で(カットバッファを)貼付け。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

6. 日本語の「nano」が使える、「端末」アプリを追加:

-

「XTerm」と「UXTerm」で「nano」を起動すると、日本語のガイド行がうまく表示されません。

日本語が使える「端末」アプリを探してみました。

-

参考:

archlinux wiki: rxvt-unicode

「rxvt-unicode」は rxvt のフォークで、細かいカスタマイズができます。

機能として、Unicode による多言語サポート、透過、複数のフォントタイプの表示機能、Perl 拡張のサポートがあります。

-

1). インストールできるか確認:

$ pacman -Ss urxvt
:
community/rxvt-unicode 9.30-1
    Unicode enabled rxvt-clone terminal emulator (urxvt)

-

2). インストール

$ paru -S rxvt-unicode
:
パッケージ (3)                   新しいバージョン  最終的な変化  ダウンロード容量
community/libptytty              2.0-4                 0.11 MiB          0.04 MiB
community/rxvt-unicode-terminfo  9.30-1                0.00 MiB          0.00 MiB
community/rxvt-unicode           9.30-1                3.13 MiB          0.75 MiB

-

3). 起動コマンドを確認:

$ which urxvt
/usr/bin/urxvt

-

4). バージョン表示:

$ urxvt --version
:
urxvt: "version": unknown or malformed option.
rxvt-unicode (urxvt) v9.30 - released: 2021-11-27    ←(バージョン)
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,XIM,frills,selectionscrolling,wheel,slipwheel,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

Usage: urxvt [-help] [--help]
 [-display string] [-tn string] [-geometry geometry] [-C] [-iconic]
 [-cd string] [-dockapp] [-/+rv] [-/+ls] [-mc number] [-/+j] [-/+ss] [-/+ptab]
 [-/+sb] [-/+sr] [-/+st] [-sbt number] [-/+si] [-/+sk] [-/+sw] [-fade number]
 [-fadecolor color] [-/+ut] [-/+vb] [-/+dpb] [-/+tcw] [-/+insecure] [-/+uc]
 [-/+bc] [-/+pb] [-bg color] [-fg color] [-hc color] [-cr color] [-pr color]
 [-pr2 color] [-bd color] [-icon file] [-fn fontname] [-fb fontname]
 [-fi fontname] [-fbi fontname] [-/+is] [-im name] [-pt style]
 [-imlocale string] [-imfont fontname] [-name string] [-title string]
 [-n string] [-sl number] [-embed windowid] [-depth number] [-visual number]
 [-/+override-redirect] [-pty-fd fileno] [-/+hold] [-w number] [-b number]
 [-/+bl] [-lsp number] [-letsp number] [-/+sbg] [-mod modifier] [-/+ssc]
 [-/+ssr] [-rm string] [-pe string] [-e command arg ...]

→バージョン表示のオプションはないけど、含まれています。

-

5). ヘルプ表示:

$ urxvt --help
:
rxvt-unicode (urxvt) v9.30 - released: 2021-11-27
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,XIM,frills,selectionscrolling,wheel,slipwheel,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

Usage: urxvt [options] [-e command args]

where resources (long-options) include:     ←(全ての rxvt リソース)
  termName:                       string
  geometry:                       geometry
  chdir:                          string
  reverseVideo:                   boolean
  loginShell:                     boolean
  multiClickTime:                 number
  jumpScroll:                     boolean
  skipScroll:                     boolean
  pastableTabs:                   boolean
  scrollstyle:                    mode
  scrollBar:                      boolean
  scrollBar_right:                boolean
  scrollBar_floating:             boolean
  scrollBar_align:                mode
  thickness:                      number
  scrollTtyOutput:                boolean
  scrollTtyKeypress:              boolean
  scrollWithBuffer:               boolean
  fading:                         number
  fadeColor:                      color
  utmpInhibit:                    boolean
  urgentOnBell:                   boolean
  visualBell:                     boolean
  mapAlert:                       boolean
  meta8:                          boolean
  mouseWheelScrollPage:           boolean
  disablePasteBrackets:           boolean
  tripleclickwords:               boolean
  insecure:                       boolean
  cursorUnderline:                boolean
  cursorBlink:                    boolean
  pointerBlank:                   boolean
  background:                     color
  foreground:                     color
  color0:                         color
  color1:                         color
  color2:                         color
  color3:                         color
  color4:                         color
  color5:                         color
  color6:                         color
  color7:                         color
  color8:                         color
  color9:                         color
  color10:                        color
  color11:                        color
  color12:                        color
  color13:                        color
  color14:                        color
  color15:                        color
  colorBD:                        color
  colorIT:                        color
  colorUL:                        color
  colorRV:                        color
  underlineColor:                 color
  scrollColor:                    color
  troughColor:                    color
  highlightColor:                 color
  highlightTextColor:             color
  cursorColor:                    color
  cursorColor2:                   color
  pointerColor:                   color
  pointerColor2:                  color
  borderColor:                    color
  iconFile:                       file
  font:                           fontname
  boldFont:                       fontname
  italicFont:                     fontname
  boldItalicFont:                 fontname
  intensityStyles:                boolean
  inputMethod:                    name
  preeditType:                    style
  imLocale:                       string
  imFont:                         fontname
  title:                          string
  iconName:                       string
  saveLines:                      number
  buffered:                       boolean
  depth:                          number
  visual:                         number
  transient-for:                  windowid
  override-redirect:              boolean
  hold:                           boolean
  externalBorder:                 number
  internalBorder:                 number
  borderLess:                     boolean
  lineSpace:                      number
  letterSpace:                    number
  skipBuiltinGlyphs:              boolean
  pointerBlankDelay:              number
  backspacekey:                   string
  deletekey:                      string
  print-pipe:                     string
  modifier:                       modifier
  cutchars:                       string
  answerbackString:               string
  secondaryScreen:                boolean
  secondaryScroll:                boolean
  rewrapMode:                     string
  perl-lib:                       string
  perl-eval:                      perl-eval
  perl-ext-common:                string
  perl-ext:                       string
  iso14755:                       boolean
  iso14755_52:                    boolean
  xrm:                            string
  keysym.sym:                     keysym
  background.border:              boolean
  background.expr:                string
  background.interval:            seconds
  backgroundPixmap:               file[;geom]
  bell-command:                   string
  blr:                            HxV
  blurRadius:                     HxV
  kuake.hotkey:                   string
  matcher.button:                 string
  matcher.launcher:               string
  matcher.launcher.*:             string
  matcher.pattern.*:              string
  matcher.rend.*:                 string
  pixmap:                         file[;geom]
  remote-clipboard.fetch:         string
  remote-clipboard.store:         string
  searchable-scrollback:          string
  selection-autotransform.*:      string
  selection-pastebin.cmd:         string
  selection-pastebin.url:         string
  selection.pattern-0:            string
  sh:                             number
  shading:                        number
  tab-bg:                         colour
  tab-fg:                         colour
  tabbar-bg:                      colour
  tabbar-fg:                      colour
  tint:                           color
  tintColor:                      color
  tr:                             boolean
  transparent:                    boolean
  url-launcher:                   string

  -help to list options

-

6). 「URxvt」を起動:

$ urxvt

-

→ウィンドウの左側に(i3 では使えない)スクロールバーが表示されています。アプリがわかりやすいので、そのままで良いかも。ただし、フォントやサイズは調整が必要。

-

7). 「~/.Xresources」に「URxvt」の設定を追加:

-

(1). 設定したいフォントを一時的に試す:
$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"
$ printf '\e]710;%s\007' "xft:monaco:size=10"
$ printf '\e]710;%s\007' "xft:monaco:bold:size=10"
$ printf '\e]710;%s\007' "xft:Source Code Pro:size=10

-

(2). 「~/.Xresources」を修正:
$ xed ~/.Xresources

-

Xcursor.theme: Qogir
Xcursor.size: 16
XTerm*reverseVideo: on

↓ 下記をファイルの最後に追加:

URxvt*reverseVideo: on
! URxvt.font: xft:Terminus:pixelsize=12
URxvt.font: xft:Source Code Pro:size=10
URxvt.letterSpace: -1
URxvt*skipBuiltinGlyphs: true
! URxvt*inheritPixmap: true
URxvt*.transparent: true
! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens
URxvt*.shading: 15

-

(3). 確認:
$ cat ~/.Xresources
Xcursor.theme: Qogir
Xcursor.size: 16
XTerm*reverseVideo: on     ←(Xtern : ウィンドウの背景 黒色)
URxvt*reverseVideo: on     ←(URxvt : ウィンドウの背景 黒色)
! URxvt.font: xft:Terminus:pixelsize=12
URxvt.font: xft:Source Code Pro:size=10     ←(フォントとサイズ)
URxvt.letterSpace: -1     ←(文字の間隔)
URxvt*skipBuiltinGlyphs: true     ←(文字表示で遅くなるのを回避)
! URxvt*inheritPixmap: true     ←(透明度 有効)未使用
URxvt*.transparent: true     ←(透明度 有効)
! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens     ←(説明)
URxvt*.shading: 15     ←(透明度 0 〜 200)0 は透明なし

-

(4). 再起動:
$ reboot

-

8). 「URxvt」を起動:

Windows + 6

Windows + D

「term」で絞り込み

→「URxvt」を選んで、Enter

-

「URxvt」が起動しました:

nano で「~/.Xresources」を開いている画面:

→上がデフォルトの「Xfce4-terminal」で、下が追加した「URxvt」です。どちらも透明度(疑似透過)オン。

「URxvt」の方が行間が狭い設定です。

-

-


まとめ

タイリングのウィンドウがメインの「i3-wm」をインストールしたので、

他のディストリビューションのときであればさわらない、「nano」の設定をいじってみました。

-

エディタのキー定義を変えると、その定義がないと使えなくなる可能性がありますが、 そもそも「nano」はめったに使わないし、「Ctrl + O」オー と「Ctrl + X」しか知らないので、支障なし。

-

今回、使い慣れた一般的なショートカットキーに(機能が違うけど)近づけたことで、作業しやすいだけでなく、他のエディタとの機能の違いが明確になりました。

ポイントは、基本的に切り貼りは「行単位」。また、バッファに取り込まないと、切り貼りに使えないこと。そして、複数のバッファを切替えて使えること。マウスの範囲選択はクリップボードに、キーボードの Ctrl+C はカットバッファに記憶されること。そして、マウスに頼らない操作をする方がうまく行くこと。

-

機能を理解したことで、デフォルト定義の「nano」でも、以前より活用できそう。

-

--

参考: 他のディストリビューションで、一般的なキー定義に「カスタマイズ」する場合:

-

(1). 既存をバックアップ:
$ cp ~/.nanorc ~/.nanorc-ORG

-

(2). 一般的なキー定義にカスタマイズ済の「~/.nanorc を作成」

-

(3). 「nano」のインストールで「基本の定義ファイル」はインストールされてますが、

「nano-syntax-highlighting」定義ファイルはインストールされません。

→追加の定義なのでなくても困りません。

-

Arch 系であればインストール可能です:

$ sudo pacman -S nano-syntax-highlighting

→インストール先のフォルダを確認。たぶん、「~/.nano/*.nanorc」?
設定の先頭にある、フォルダ名の修正が必要かも。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

Boxes に「EndeavourOS」(i3-wm) をインストール〈H162〉

登録日: 2022-12-31 更新日: 2023-02-02

Xubuntu 22.04.1 の「Boxes」に、「Arch Linux」ベースの「EndeavourOS」(Nova) の「i3-wm」をインストールしました。

EndeavourOS の公式版で、タイル型ウィンドウマネージャ(WM)で「キーボード操作」メインでも使える、GUI 環境です。

どのようなものか確認しました。その備忘録です。

-

-

追記: 2023-02-02

システム更新で失敗する場合の対応は「こちら 」を参照:

-

-

使用したPC は「ASUS Chromebox CN60 」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. 「ISO イメージ」をダウンロード:

  2. 「仮想マシン環境」(ボックス)の作成:

  3. 「EndeavourOS」のインストール:

  4. 「クリップボードの共有」機能の有効化:

  5. システムの負荷を減らす変更:

  6. AUR ヘルパーを「paru」に変更:

  7. 通知の「eos-update-notifier 」で、「paru」を使うように変更:

  8. 「日本語入力」の設定:

  9. 「ミラー」の設定:

  10. 「アプリ」のインストール:

  11. 「ゲーム」のインストール:

  12. 参考:「paru」のコマンド:

-

「EndeavourOS」の機能:

  1. 「Welcome」アプリを日本語化:

  2. 「Welcome」アプリに「個人用コマンド」タブを追加して活用:

  3. 参考: 「Welcome」アプリの「個人用コマンド」タブの使い方を確認:

  4. 参考:「/etc/eos-update-notifier.conf」に日本語のコメント行を追記:

  5. 参考:「/etc/eos-script-lib-yad.conf」に日本語のコメント行を追記:

-

「i3-wm」の機能:

  1. 「i3-wm」で使える「ショートカットキー」:

  2. 「i3-wm」環境を使いやすくする設定:

  3. アプリを「フローティング」に設定した例:

  4. 参考:「i3-wm」の設定ファイル:

  5. 参考:「i3blocks」パネルバーの設定:

  6. 参考:「壁紙」の設定:

  7. 参考: 設定で使う、アプリの「クラス名」:

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 22.04.1 LTS で、「Boxes」を使う:

-

ボックスの「EndeavourOS」(i3-wm) を起動:

-

(1).「端末」アプリは、Windows + Enter で起動:

ウィンドウのタイトルバーを表示するように変更しました。

→アプリは、パネル左の「ワークスペース1」に表示されます。すき間(Gap)付きの最大化表示です。

パネル中央のランチャーアイコンをクリックしても起動できます。

-

(2).「ブラウザ」は、Windows + W で起動:

「ブラウザ」は、ESR 版の「Firefox」に変更しました。

→アプリは、パネル左の「ワークスペース2」に表示されます。すき間(Gap)付きの最大化表示です。

パネル中央のランチャーアイコンをクリックしても起動できます。

-

(3).「ファイルマネージャ」は、Windows + N で起動:

→アプリは、パネル左の「ワークスペース3」に表示されます。すき間(Gap)付きの最大化表示です。

パネル中央のランチャーアイコンをクリックしても起動できます。

-

(4).「Welcome」は、Windows + X で起動:

個人的に日本語化して、ショートカットキーの登録と、パネルへの追加をしました。

→アプリは、パネル左の「ワークスペース5」に表示されます。「フローティング」表示です。

パネルの中央の黄色の「吹き出し」アイコンをクリックしても起動できます。

-

「Welcome」の「個人用コマンド」タブには、好きなコマンドを登録できます。

-

(5). Windows + D で、「アプリの一覧」を表示:

→パラメータは渡せませんが、簡単なランチャー代わりに使えます。

キーを打つことで絞り込み検索できます。

-

Windows + 6 で、「ワークスペース6」を表示してから起動しました。

ワークスペースは「ワークスペース1」(Windows + 1) 〜「ワークスペース10」(Windows + 0) が使えます。

-

(6). アプリの終了は、Windows + Q です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

「Boxes」について:

-

公式サイト:

GNOME Boxes

-

  • 「Boxes」は GNOME アプリケーションのひとつで、「仮想マシン」を動かす環境としては、
     シンプルで、簡単にゲストOS (ボックス)を作成できます。

-

バージョン:

$ flatpak run org.gnome.Boxes --version
43.1

→Flatpak で入れた最新の「43.1」です。

-

Flatpak 版にすると「USB リダイレクト」機能が使えませんが、安定動作を考えると最新の方が良いので移行 しました。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

「EndeavorOS」について:

-

EndeavorOS は、インストールが楽で、使い勝手をよくした「Arch Linux」です。
リポジトリも、リスクも同等)

試してみる と、楽にカスタマイズできるのが魅力です。 「Arch Linux」を GUI 環境で使いたいときは、オススメです。 ローリングリリースです。

-

1). 公式サイト:

ENDEAVOUR OS

-

2). 最新のニュース:

Artemis Nova is here

現在のリリース「アルテミス・ノヴァ」 Artemis Nova 22.9
2022年9月14日 発行

Nova は暫定的なリリースです。主要な新機能は開発中、まだ同梱されていません。

-

3). 現在のリリースの特徴:

  • 独自のパッケージは、自社開発の「reflector-auto」、「eos-welcome」、「eos-update-notifier」、「eos-downgrade」などです。

  • 残りのパッケージは、Arch リポジトリAUR (Arch User Repository) からダウンロードされます。

  • 独自のカスタマイズや変更は行われていません。

  • インストールこそ GUI で出来ますが、中身は「Arch Linux」のままです。

  • GUI 環境が使えるし、「welcome」があるので、初心者でも使えそう。

-

4). インストールについて:

 →Debian、Manjaro Linux で使われており、実績があります。

-

iso イメージは、「公式版のインストール」も、「コミュニティ版」のインストールも共通です。

-

「公式版」で「Xfce」以外の環境をインストールする場合:
  • 最初に起動される「Welcome」画面にて、1番めのメニューを選択します。

  • 「オフライン」、「オンライン」を選ぶ画面で、「オンライン」を選択

→以下から、インストールする GUI 環境を選べます:

XfceKDE Plasma、GNOME、Mate、Cinnamon、Budgie、LXQt、LXDE、i3-wm

今回は「i3-wm」にトライしました。

-


5). 「EndeavourOS」の現在のバージョンを表示:

2023-01-01 現在

カーネル:

$ uname -r
6.1.1-arch1-1

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=EndeavourOS
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="EndeavourOS Linux"
DISTRIB_CODENAME=rolling
$ cat /etc/os-release
NAME=EndeavourOS
PRETTY_NAME=EndeavourOS
ID=endeavouros
ID_LIKE=arch
BUILD_ID=2022.09.10
ANSI_COLOR="38;2;23;147;209"
HOME_URL='https://endeavouros.com'
DOCUMENTATION_URL='https://discovery.endeavouros.com'
SUPPORT_URL='https://forum.endeavouros.com'
BUG_REPORT_URL='https://forum.endeavouros.com/c/arch-based-related-questions/bug-reports'
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=endeavouros

→「EndeavourOS」であることはわかりますが、「i3-wm」版であることはわかりません。

-

「Welcome」の現在のバージョン:

$ eos-welcome --version
3.45-1

-

6). 「x11」と「Wayland」のどちらで動作しているかの確認:

$ echo $XDG_SESSION_TYPE
x11

→「Wayland」ではなく、「x11」で動作。

「Welcome」アプリは「yad」プログラムのノートブック機能に基づいて構築されています。 「Yad」は「Wayland」と完全には連携しておらず、「Welcome」を使うには「X11」を使用する必要があります。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

「EndeavourOS」の「i3-wm」について:

-

i3-wm は、キーボードのみで動作する軽量のタイル型ウィンドウ マネージャです。

-

1). 元になった、「i3」の公式ガイド:

i3 User’s Guide

-

2). 「EndeavourOS」の「i3-wm」のサイト:

Github: endeavouros-team/endeavouros-i3wm-setup

-

3). 「EndeavourOS」(i3-wm) では、$mod が Windows キー (Mod4) に変更されています:

「i3-wm」の設定ファイル:

~/.config/i3/config

-

設定ファイルの詳細は、「項番 23. 」を参照:

-

4). 使用されているアプリ:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

1. 事前に iso イメージをダウンロード:

-

事前に iso イメージのダウンロードをしておき、インストールするのが確実です。

今回は、前回の投稿で使った「iso イメージ」が使えます。

-

1). ダウンロード:

ダウンロード:

-

2). 最新のリリース:

EndeavourOS_Artemis_nova_22_9.iso

-

3). ダウンロードするミラーを選びます:

You can download it over here:

例: Github: World wide

-

ファイルを選択:

ISO

Sha512sum

GPG sig file

-

4). ダウンロードしたファイルを任意のフォルダに移動:

$ mkdir -p ~/ダウンロード/Endeavour
$ cd ~/ダウンロード/
$ mv EndeavourOS* Endeavour/
$ ls ~/ダウンロード/Endeavour/
EndeavourOS_Artemis_nova_22_9.iso
EndeavourOS_Artemis_nova_22_9.iso.sha512sum

-

5). チェックサム値の確認:

$ cd ~/ダウンロード/Endeavour/
$ sha512sum -c EndeavourOS_Artemis_nova_22_9.iso.sha512sum
EndeavourOS_Artemis_nova_22_9.iso: OK

-

念の為:

$ sha512sum EndeavourOS_Artemis_nova_22_9.iso
fb3a82d9d57bde47fc38bc34b3ca1caab5db4f01e25931a5b739e78f0a188e167660dcc729e578539dfb6216ec5a8793a4590761af0722e441ca32538d62c87a  EndeavourOS_Artemis_nova_22_9.iso

→故意に両方が修正されていても気付けます。GPG キーでのチェックをすれば確実。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

2. ボックス(仮想マシン環境)の作成:

-

1). 「Boxes」を起動:

メニュー →開発 →「Boxes」

→「Boxes」の起動:

-

2). ウィンドウの左上の「+」(新規)

→「仮想マシンを作成…」

-

3). 「仮想マシンを作成」画面:

-

4). 画面下にある「ファイルから仮想マシンを作成」をクリック:

ファイルを指定:

~/ダウンロード/Endeavour/EndeavourOS_Artemis_nova_22_9.iso

→「開く」

-

5). 「準備中…」画面:

-

テンプレート: 不明な OS

→右上の「次へ」をクリック

-

参考: 「Arch Linux」がベースということで、「Arch Linux」を選ぶと立ち上がりませんでした

→「不明な OS」のままにします。

-

6). 「確認と作成」画面:

-

(1). 次のプロパティで新しいボックスをセットアップする準備ができました:
メモリ: 2.0 GiB
ストレージの上限: 20.0 GiB

-

(2). 上記の項目を変更したい場合は、右にある「ー」「+」ボタンをクリック

メモリ: 2.0 GiB         →4.0 GiB に変更
ストレージの上限: 20.0 GiB

-

(3). この時点では、ボックスの名前は変更できません

→インストール完了後に(一覧のボックスを右クリック →設定にて)変更します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

3. 「EndeavourOS」のインストール:

-

1). 右上の「作成」をクリックすると、自動でボックスが起動されました

-

2). ブート選択画面が表示

DVD/CD イメージで立ち上がりました:

グラフィックカードの選択ができるみたい。そのままにしておきました。

-

その後、画面真っ暗で少し時間がかかりました。

-

3). デスクトップ画面が表示:

-


4). しばらくすると、「Welcome v3.34-1」画面が表示:

→メニューの 1番目にある「Start the Installer」をクリック

-


5). 「Choose installation method」画面が表示:

→「Online」をクリック

-


6). 「EndeavourOS インストーラー」画面が表示:

自動的に「日本語」で表示されました:

「EndeavourOS インストーラーへようこそ」

-


(1). ようこそ:

「日本語」が自動でセットされています:

-

このインストーラのポイントはここ。自動認識できるかです。

-

→右下の「次へ」

-


(2). ロケーション:

地域: Asia、ゾーン: Tokyo

(地図で日本をクリックしても設定されます)

-

→「次へ」

-


(3). キーボード:

キーボードモデル: Generic 105-key PC

Japanese、Default

「ここでタイプしてキーボードをテストしてください」→ @@ で確認。

-

→「次へ」

-


(4). パーティション:

ストレージデバイスを選択: (QEMU HARDDISK - 19.99 GiB /dev/sda)  ←(メーカ名とサイズが参考)

-

→「ディスクの消去」にチェック:

-

現在: すべて黒

後: すべて赤(EndeavourOS 19.99 GiB ext4)

ブートローダーの場所: QEMU HARDDISK のマスターブートレコード (/dev/sda) ←忘れずに確認

-

→「次へ」

-


(5). デスクトップ:

No Desktop が選択されていました:

-

Desktop の一覧から 1つを選択:

→「i3-wm」をクリック:

-

→「次へ」

-


(6). パッケージ:

インストールされるパッケージの一覧が表示されます:

「Desktop-Base + Common packages」にチェックあり

Firefox and language package」にチェックあり

「i3-Window-Manager」にチェックあり

-

→「次へ」

-


(7). ユーザー情報:

任意設定

「管理者アカウントと同じパスワードを使用する」にチェック。

-

→「次へ」

-


(8). 要約:

今までに設定した内容が表示:

-

表示が隠れているかもしれないので、必ず、スクロールさせて、

「/dev/sda にブートローダーをインストールする。」が表示されることを確認。

-

→「インストール」

→「今すぐインストール」

-


(9). インストール:

インストールが開始しました:

→バーグラフが伸びて行きます。

-


(10). 終了:

「すべて完了しました。」表示:

-

ボックスの名前を変更したいので、

「今すぐ再起動」にチェックせずに、

-

→「実行」

-


7). デスクトップ画面に戻りました:

画面下のパネルにて、「端末」を起動:

[liveuser@eos-2022.09.10 ~]$ uname -r
5.19.7-arch1-1
[liveuser@eos-2022.09.10 ~]$ cat /etc/os-release
NAME=EndeavourOS
PRETTY_NAME=EndeavourOS
ID=endeavouros
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL='https://endeavouros.com'
DOCUMENTATION_URL='https://discovery.endeavouros.com'
SUPPORT_URL='https://forum.endeavouros.com'
BUG_REPORT_URL='https://forum.endeavouros.com/c/arch-based-related-questions/bug-reports'
LOGO=endeavouros
IMAGE_ID=endeavouros
IMAGE_VERSION=2022.09.10
[liveuser@eos-2022.09.10 ~]$ cat /etc/lsb-release
DISTRIB_ID=EndeavourOS
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="EndeavourOS Linux"
DISTRIB_CODENAME=rolling
[liveuser@eos-2022.09.10 ~]$ uname -n
EndeavourOS
[liveuser@eos-2022.09.10 ~]$ uname -a
Linux EndeavourOS 5.19.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 05 Sep 2022 18:09:09 +0000 x86_64 GNU/Linux
[liveuser@eos-2022.09.10 ~]$ ls
Desktop                LICENSE   Templates           work.eos-install-mode-run-calamares.xyz
Documents              Music     user_commands.bash
Downloads              Pictures  user_pkglist.txt
endeavour-install.log  Public    Videos

-

Boxes の「クリップボードの共有」機能が使えるか確認:

→ライブ立ち上げの場合、ゲストOS の端末のメッセージを、ホストOS に貼り付けできました。

[liveuser@eos-2022.09.10 ~]$ pacman -Ss spice-vdagent
community/spice-vdagent 0.22.1-2 [installed]
    Spice agent for Linux guests

→「spice-vdagent」パッケージがインストールされていました。

-

ライブ立ち上げで使われていたのは、「EndeavourOS」(Xfce) のシステムでした。

メニューが使え、右クリックのメニューも表示されます。

「i3-wm」ではないので、ここで調べても参考になりません。

-

[liveuser@eos-2022.09.10 ~]$ exit

-


8). 電源オフ:

すべてのウィンドウを閉じて、

右下のユーザ名「liveuser」をクリック→「Shut down」

→「Shut down」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

4. Boxes のボックス名を変更:

-

1). Boxes の一覧画面に戻りました:

電源オフしたつもりですが、電源オフされていません。

-

ボックスを右クリック →設定

名前:  →「EndeavourOS_i3」に変更

-

2). ダイアログの右上の「x」で閉じます。

-

3). Boxes の一覧画面を、右上の「x」で閉じます。

-

4). ホストOS を再起動:

-

5). Boxes を起動:

Boxes および、ホストOS を再起動しないと、ボックス名は反映されません。

-


6). Boxes のボックスの一覧画面に戻りました:

→ボックスをクリック

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

5. 最初の起動:

-


1). 「ログイン」画面

ユーザ名が入力されています:

→パスワードを入力

-


2). 「デスクトップ」画面が表示されました:

-

しばらく待つと、Firefox が起動、続いて、それに重なって「Welcome」の「After Install」のタブの画面が表示されました:

-

Firefox には、「EndeavourOS」の「i3-wm」のサイトが開きました:

Github: endeavouros-team/endeavouros-i3wm-setup

-

Firefox のウィンドウをクリックしても、「Welcome」のウィンドウは上に重なったままです。

Windows + Q で閉じてもいいけど、
Windows + Shift + 0 ゼロ で、「ワークスペース10」に移動しました。

Windows + 0 ゼロ で、「ワークスペース10」を表示:

→ここなら邪魔になりません。

-

試しに、Windows + Shift + 1 イチ として、「ワークスペース1」を表示:

-

もう一度、Windows + Shift + 0 ゼロ で、「ワークスペース10」を表示:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

6. パネルについて:

-


1). パネルの要素とショートカットキーとの対応:

Windows + 1 白色の「端末」のワークスペース(起動時のみ左詰めで表示)

Windows + 2 白色の「ブラウザ」と「Welcome」のワークスペース(起動時のみ左詰めで表示)

Windows + 3 白色の「ファイルマネージャ」のワークスペース(起動時のみ左詰めで表示)

Windows + 4 白色の「メッセンジャー ?」のワークスペース(起動時のみ左詰めで表示)

Windows + 5 白色の「チャット ?」のワークスペース(起動時のみ左詰めで表示)

Windows + 6 ワークスペース6(起動時のみ左詰めで表示)

Windows + 7 ワークスペース7(起動時のみ左詰めで表示)

Windows + 8 ワークスペース8(起動時のみ左詰めで表示)

Windows + 9 ワークスペース9(起動時のみ左詰めで表示)

Windows + 0 ワークスペース10(起動時のみ左詰めで表示)

(長めの空き)

Windows + Enter 「端末」(xfce4-terminal) のアイコン(アプリランチャー)黒色

Windows + W   「ブラウザ」(firefox) のアイコン(アプリランチャー)オレンジ色

Windows + N   「ファイルマネージャ」(thunar) のアイコン(アプリランチャー)紫色

(4つの点)セパレーター

ディスク空き容量

メモリ 使用率

CPU モニタ

無線ネットワーク(電波強度)

バッテリのアイコン(バッテリ残量)赤色

(4つの点)セパレーター

システムトレイ(スピーカ、音量)

キーボードの説明

緑色のアイコン(少電力モードの設定)

時計(秒まで表示)

電源メニュー(ログアウト、再起動、電源オフ)

(4つの点)セパレーター

有線ネットワーク(接続)

-

メニューボタンがありません。 デスクトップやパネルで右クリックしても、ダイアログが開きません。 ただし、アプリのウィンドウの空きで右クリックすれば、アプリの右クリックメニューが開きます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

7. 「i3-wm」で使える、ショートカットキー:

-

1). 主なショートカットキーの一覧:

見やすいように大文字を使っていますが、実際は「小文字」を使ってください:

- Windows + 1 〜 9, 0  →  「ワークスペース」1 〜 10 を選択

- Windows + Shift + 1 〜 9, 0  →  選択したアプリを「ワークスペース」1 〜 10 に移動

- Windows + H       → 選択したアプリの、次に起動するアプリを「横」方向に分割

- Windows + V       → 選択したアプリの、次に起動するアプリを「縦」方向に分割


- Windows + D       →  アプリの選択一覧を表示(アプリの起動)

- Windows + Enter   → 「端末」を起動 (xfce4-terminal)

- Windows + W       → 「ブラウザ」を起動 (firefox)

- Windows + N       → 「ファイルマネージャ」を起動 (thunar)

- Windows + Q       →  選択しているアプリのウィンドウを終了 

→「Windows + Shift + 1 〜 9, 0」としたら、「Windows + 1 〜 9, 0」としないと、反映されたかはわかりません。

-

2). その他のショートカットキー:

「Welcome」アプリの、「ショートカットキーを表示」メニューに、追加分は登録してます。

-

3). 参考: 「i3」デフォルトのショートカットキー:

i3 Reference Card

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

8. 「クリップボードの共有」機能が使えるか確認:

-

デフォルトの「i3-wm」環境では、「spice-vdagent」パッケージが入っていないので、「クリップボードの共有」機能は使えません。

「spice-vdagent」パッケージをインストールしました。

-

1).「spice-vdagent」をインストール:

$ sudo pacman -S spice-vdagent
:
パッケージ (1)           新しいバージョン  最終的な変化  ダウンロード容量
community/spice-vdagent  0.22.1-2              0.14 MiB          0.05 MiB

-

確認:

$ pacman -Ss spice-vdagent
:
community/spice-vdagent 0.22.1-2 [0B 140.25KiB] [インストール済み]
    Spice agent for Linux guests

→通常のデスクトップ環境であれば、ホストOS の再起動後に使えます。

-

2). シャットダウン:

-

3). ホストOS の再起動:

→ゲストOS の再起動だけでは、機能は有効になりません。

-

4). 「EndeavourOS」(i3-wm) の起動:

-

5). ログイン画面にて、右上の「縦3点」アイコンにて、「ファイルを送る…」がちゃんと表示されています。

→「spice-vdagent」の機能が有効になると、「ファイル送信」機能が使えます。

-

6). ログイン後、「クリップボードの共有」が使えました。

→コミュニティ版の「EndeavourOS」(Worm) では有効になりませんでしたが、
公式版の「EndeavourOS」(i3-wm) では、「spice-vdagent」の機能が有効になりました。

-

7). 画面を広げて、ログアウト →ログインすると、解像度が「自動調整」されました。

ログアウトしなくても、画面を広げると、文字が拡大されます。

ただし、解像度を広げるには、ログアウト →ログインが必要です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

9. できるだけ、システムの負荷を減らしました:

-

きっかけ:

i3-wm にて、気づいたこと: 」を参照:

-


1). ESR 版の「Firefox」をインストール:

ブラウザの動きが軽くなるので、早めにインストールしておくのがオススメです。

→手順は、「こちら 」を参照:

-


2). 事前に「Featherpad」をインストール しておきます

好みですが、ついでにインストールしておきます。

$ sudo pacman -S featherpad
:
パッケージ (3)        新しいバージョン  最終的な変化  ダウンロード容量
extra/hunspell        1.7.1-1               1.04 MiB          0.32 MiB
extra/qt6-svg         6.4.1-1               0.63 MiB          0.17 MiB
community/featherpad  1.3.4-1               3.51 MiB          0.86 MiB

→paru での手順は、「こちら 」を参照:

-


3). パネル周りの設定を修正:

デスクトップPC なので、使っていない機能は非表示にしたり、タイマー値を変更しました:

特に、「時計」は無駄なので修正した方が良さそう。

-

$ xed ~/.config/i3/i3blocks.conf

-

(1). パネル(ディスクの空き):
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=
instance=/
command=~/.config/i3/scripts/disk
interval=30

↓ コメント化:

## Disk usage
##
## The directory defaults to $HOME if the instance is not specified.
## The script may be called with a optional argument to set the alert
## (defaults to 10 for 10%).
#[disk]
#label=
#instance=/
#command=~/.config/i3/scripts/disk
#interval=30

-


(2).パネル(メモリの使用率):
# Memory usage
:
interval=2

↓ タイマー値の変更:

# Memory usage
:
#interval=2
interval=5

-


(3). パネル(CPUの使用率):
[cpu_usage]
:
interval=2

↓ タイマー値の変更:

[cpu_usage]
:
#interval=2
interval=5

-


(4). パネル(CPUの温度)表示されないのでコメント化
[CPU-temperature]
label=
command=~/.config/i3/scripts/temperature
interval=30
#T_WARN=70
#T_CRIT=90
#SENSOR_CHIP=""
# where SENSOR_CHIP can be find with sensors output
# can be used also for GPU temperature or other temperature sensors lm-sensors detects.

# showing name of connected network (enable for wifi use)
#[net]
#label=
#command=echo "$(LANG=C nmcli d | grep connected  | awk '{print $4}')"
#interval=30

↓ コメント化:

#[CPU-temperature]
#label=
#command=~/.config/i3/scripts/temperature
#interval=30
##T_WARN=70
##T_CRIT=90
##SENSOR_CHIP=""
## where SENSOR_CHIP can be find with sensors output
## can be used also for GPU temperature or other temperature sensors lm-sensors detects.

## showing name of connected network (enable for wifi use)
##[net]
##label=
##command=echo "$(LANG=C nmcli d | grep connected  | awk '{print $4}')"
##interval=30

-


(5). パネル(無線LAN の電波強度):
[bandwidth]
command=~/.config/i3/scripts/bandwidth2
interval=persist

↓ コメント化:

#[bandwidth]
#command=~/.config/i3/scripts/bandwidth2
#interval=persist

-


(6). パネル(バッテリ残量):
# Battery indicator
[battery]
command=~/.config/i3/scripts/battery2
# for alternative battery script  change to battery1
# change this to battery-pinebook-pro if you are running on pinebook-pro
label=
interval=30

↓ コメント化:

## Battery indicator
#[battery]
#command=~/.config/i3/scripts/battery2
## for alternative battery script  change to battery1
## change this to battery-pinebook-pro if you are running on pinebook-pro
#label=
#interval=30

-


(7). パネル(少電力モードの設定):
#set power-profile
[ppd_menu]
full_text=
command=~/.config/i3/scripts/power-profiles
color=#407437

#Show the current power-profile
[ppd-status]
command=~/.config/i3/scripts/ppd-status
interval=5

↓ コメント化:

##set power-profile
#[ppd_menu]
#full_text=
#command=~/.config/i3/scripts/power-profiles
#color=#407437

##Show the current power-profile
#[ppd-status]
#command=~/.config/i3/scripts/ppd-status
#interval=5

-


(8). パネル(時計)秒を変更:
[time]
#label=
command=date '+%a %d %b %H:%M:%S'
interval=1

↓ 修正:

[time]
#label=
#command=date '+%a %d %b %H:%M:%S'
command=date '+%m/%d %a %H:%M'
#interval=1
interval=60

→「interval=」の修正を忘れると効果がないので注意

-


4). ログアウト→ログイン:

-


5). 確認:

パネル左端のワークスペースの領域は使い方で変化するので、無視して下さい:

-

(1). 作業前のパネルの表示:

-

(2). 作業後のパネルの表示:

→表示するアイテムを減らして、時計の表示の周期を長くしました。

ちなみに右端にある「A」は日本語入力 (ibus-mozc) のアイコンです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

10. AUR ヘルパーを「paru」に変更:

-

すでに AUR ヘルパーとして「yay」が入っていますが、表示されるメッセージが自然なので好みの「paru」に変更:

-

「AUR ヘルパー」は、公式リポジトリにないパッケージを、ビルド用のスクリプトをダウンロードして動作することで、「ソースからビルドしてパッケージ化、インストールする」作業を半自動化してくれるツールです。

手動でのビルドと違うのは、「パッケージ化」の工程が入ることで、パッケージの共有ができます。 AUR ヘルパーはいくつかあり、微妙に機能が異なるので、好みで選べます。

-

インストール:

$ yay -S paru
:
パッケージ (1)    新しいバージョン  最終的な変化  ダウンロード容量

endeavouros/paru  1.11.2-1              7.19 MiB          2.35 MiB

→Enter と、パスワード入力だけで完了します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----

11. 「paru」でシステム更新:

-

システム更新により、「Welcome」アプリ等を最新にしておき、日本語化しました。

-

1). システム更新:

$ paru
[sudo] パスワード:
:
:: yad-eos を endeavouros/yad に置き換えますか? [Y/n] 
パッケージ (3)      古いバージョン  新しいバージョン  最終的な変化  ダウンロード容量
community/parallel  20221122-1      20221222-1            0.00 MiB          0.31 MiB
endeavouros/yad                     12.3-1.1              0.60 MiB          0.21 MiB
yad-eos             12.3-1                

→たまたま、更新があるパッケージがありました。

-

2). システム更新を再実行:

$ paru
:
:: パッケージデータベースの同期中...
 endeavouros は最新です
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません
:: AUR の更新を確認しています...
:: 開発の更新を確認しています...
 何も行うことがありません

→これが、更新するパッケージがないときの表示です。

-

3). 「yay」は、削除せずにそのままにしました

支障が出るかはわからないので、そのままにしました。使わなければいいだけ。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -

12. 日本語入力:

-


1). インストールされている入力メソッドを確認:

$ paru -Ss uim | grep インストール済み
$ paru -Ss fcitx | grep インストール済み
$ 

→インストールされてません。

$ paru -Ss ibus | grep インストール済み
:
core/libusb 1.0.26-1 [70.91KiB 211.04KiB] [インストール済み]
extra/libgusb 0.4.2-1 [0B 2.48MiB] [インストール済み]
extra/libusbmuxd 2.0.2-1 [33.35KiB 113.15KiB] [インストール済み]
community/hidapi 0.12.0-1 [27.78KiB 87.76KiB] [インストール済み]

→インストールされているのは入力メソッドとは関係ないパッケージです。 まぎらわしいですが、入力メソッドはインストールされていません。

-


2). ~/.xprofile を作成:

$ xed ~/.xprofile

下記の3行を追記:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

-


3). ibus-mozc の確認:

$ paru
$ paru -Ss ibus-mozc
:
aur/ibus-mozc 2.28.4880.102-1 [+10 ~1.55]
    Mozc module for IBus
aur/ibus-mozc-ut-united 2.28.4880.102_20221022_2.28.4880.102.r14.g05ec1326-1 [+6 ~0.04]
    IBus engine module for Mozc with UT dictionary
aur/ibus-mozc-ut-full 2.28.4800.102.20220723-1 [+1 ~0.14] [古いバージョン: 2022-11-05]
    IBus engine module for Mozc with UT dictionary

→AUR にありました。インストールできます。

ちなみに、「古いバージョン」の表示がある場合は注意が必要です。長い間更新されていないということです。 その後、いつの間にかリポジトリから削除されてしまうことがよくあります。 逆に新しいバージョン名で登場するかもしれません。

-


4). ibus-mozc のインストール:

  • 「mozc」に 45分、「ibus-mozc」に 25分ほど、ビルドに時間がかかります。 時間の余裕があるときに実行すると良いかも。

パスワード入力がタイムアウトしますが、再実行すれば、途中から開始されます。

-

インストール:
$ paru -S ibus-mozc
:
:: 依存関係を解決しています...
:: 2 個の選択肢が ibus-mozc にはあります:
:: リポジトリ AUR:
    1) ibus-mozc  2) ibus-mozc-ut-united  
数字を入力してください (デフォルト=1): 

→Enter

リポジトリ (9)                 古いバージョン  新しいバージョン  Makeのみ
community/bazel                                5.3.2-1           はい
extra/ibus                                     1.5.27-1          いいえ
extra/java-environment-common                  3-3               はい
extra/java-runtime-common                      3-3               はい
extra/jdk11-openjdk                            11.0.17.u1-1      はい
extra/jre11-openjdk                            11.0.17.u1-1      はい
extra/jre11-openjdk-headless                   11.0.17.u1-1      はい
extra/libibus                                  1.5.27-1          いいえ
extra/libnet                                   1:1.1.6-1         はい

Aur (2)                        古いバージョン  新しいバージョン  Makeのみ
aur/mozc                                       2.28.4880.102-1   いいえ
aur/ibus-mozc                                  2.28.4880.102-1   いいえ
:: レビューを続行しますか? [Y/n]: 

→Enter

:: PKGBUILD をダウンロードしています...
 (2/2) mozc-2.28.4880.102-1                          [--------------------------------------------]
/home/ubn/.cache/paru/clone/mozc/PKGBUILD
# Maintainer: Nocifer <apmichalopoulos at gmail dot com>
# Contributor: UTUMI Hirosi <utuhiro78 at yahoo dot co dot jp>
# Contributor: Felix Yan <felixonmars@gmail.com>
# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>

pkgname='mozc'
pkgver=2.28.4880.102
pkgrel=1
pkgdesc='The Open Source edition of Google Japanese Input'
arch=('x86_64')
url='https://github.com/google/mozc'
license=('Apache' 'BSD' 'LGPL' 'custom')
depends=('qt5-base')
makedepends=('bazel' 'git' 'python')
optdepends=('fcitx5-mozc-ut: Fcitx5 integration'
            'fcitx-mozc-ut: Fcitx integration'
            'ibus-mozc: IBus integration'
            'emacs-mozc: Emacs integration')
conflicts=('mozc-ut')
options=(!distcc !ccache)
source=("${pkgname}-git::git+https://github.com/google/mozc.git#commit=05ec1326a17121f4ddd42303fcdb>
sha256sums=('SKIP')

:            ←(コマンド待ち)

→Enter で 1行送り、「スペース」で ページ送り(less と同じ操作)

スペースを連打

(END)

「q」で(PKGBUILD の表示が)終了

:: インストールを行いますか? [Y/n]: 

→Enter

→パスワード入力

:: インストールを行いますか? [Y/n] 

→Enter

パッケージ (9)                 新しいバージョン  最終的な変化  ダウンロード容量

community/bazel                6.0.0-1             110.26 MiB         80.40 MiB
extra/ibus                     1.5.27-1              7.52 MiB          0.80 MiB
extra/java-environment-common  3-3                   0.00 MiB          0.00 MiB
extra/java-runtime-common      3-3                   0.01 MiB          0.00 MiB
extra/jdk11-openjdk            11.0.17.u1-1         88.63 MiB         77.52 MiB
extra/jre11-openjdk            11.0.17.u1-1          0.53 MiB          0.19 MiB
extra/jre11-openjdk-headless   11.0.17.u1-1        159.78 MiB         35.97 MiB
extra/libibus                  1.5.27-1             93.57 MiB          9.66 MiB
extra/libnet                   1:1.1.6-1             0.30 MiB          0.09 MiB

:: インストールを行いますか? [Y/n] 

→Enter

:
==> パッケージを作成 "mozc"...
  -> .PKGINFO ファイルを生成...
  -> .BUILDINFO ファイルを生成...
  -> .MTREE ファイルを生成...
  -> パッケージの圧縮...
==> fakeroot 環境を終了。
==> 作成完了: mozc 2.28.4880.102-1 (2022年11月30日 16時25分38秒)
==> 清掃...
時間が 45分ほどで「mozc」のビルドが終了
[sudo] パスワード:

→パスワード入力

:
パッケージ (1)  新しいバージョン  最終的な変化

mozc            2.28.4880.102-1      25.19 MiB

合計インストール容量:  25.19 MiB

:: インストールを行いますか? [Y/n] 
→Enter を押さなくても次(ibus-mozc のビルド、パッケージ作成)に進みました:
==> パッケージを作成: ibus-mozc 2.28.4880.102-1 (2022年11月30日 16時29分10秒)
==> ソースを取得...
  -> ibus-mozc-git git リポジトリを複製...

==> source で sha256sums ファイルを検証...
:
==> ソースの準備ができました。
ibus-mozc-2.28.4880.102-1: パッケージリストを解析しています...
==> パッケージを作成: ibus-mozc 2.28.4880.102-1 (2022年11月30日 16時33分26秒)
==> ランタイムの依存関係を確認...
==> ビルドタイムの依存関係を確認...
==> 警告: 既存の $srcdir/ ツリーを使用
==> build() を開始...
:
==> fakeroot 環境を開始します...
==> package() を開始...
:
==> インストールを整理...
  -> libtool ファイルを削除...
  -> 不要なファイルを削除...
  -> スタティックライブラリファイルを削除しています...
  -> バイナリとライブラリから不要なシンボルを削除...
  -> man と info ページを圧縮...
==> パッケージの問題をチェック...
==> パッケージを作成 "ibus-mozc"...
  -> .PKGINFO ファイルを生成...
  -> .BUILDINFO ファイルを生成...
  -> .MTREE ファイルを生成...
  -> パッケージの圧縮...
==> fakeroot 環境を終了。
==> 作成完了: ibus-mozc 2.28.4880.102-1 (2022年11月30日 16時54分54秒)
==> 清掃...
[sudo] パスワード:
sudo: パスワードの読み込みがタイムしました
sudo: パスワードが必要です
$ 
→時間がかかるので放って置いたら、

パスワード待ちでタイムアウトして、終了しました。

-


5). インストールを再実行:

最初の開始部分は同じですが、ビルドはスキップして、実行されます。

$ paru -S ibus-mozc
:: 依存関係を解決しています...
:: 2 個の選択肢が ibus-mozc にはあります:
:: リポジトリ AUR:
    1) ibus-mozc  2) ibus-mozc-ut-united  
数字を入力してください (デフォルト=1): 

→Enter

Aur (1)         古いバージョン  新しいバージョン  Makeのみ
aur/ibus-mozc                   2.28.4880.102-1   いいえ

:: レビューを続行しますか? [Y/n]: 

→Enter

:
==> ソースの準備ができました。
ibus-mozc-2.28.4880.102-1: パッケージリストを解析しています...
:: ibus-mozc-2.28.4880.102-1 は最新です -- ビルドをスキップ
[sudo] ubn のパスワード:

→パスワード入力

パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1)  新しいバージョン  最終的な変化

ibus-mozc       2.28.4880.102-1       3.92 MiB

合計インストール容量:  3.92 MiB

:: インストールを行いますか? [Y/n] 
(1/1) キーリングのキーを確認                                 [--------------------------------] 100%
(1/1) パッケージの整合性をチェック                           [--------------------------------] 100%
(1/1) パッケージファイルのロード                             [--------------------------------] 100%
(1/1) ファイルの衝突をチェック                               [--------------------------------] 100%
:: パッケージの変更を処理しています...
(1/1) インストール ibus-mozc                                 [--------------------------------] 100%
:: トランザクション後のフックを実行...
(1/1) Arming ConditionNeedsUpdate...

→インストール完了。

-

-


6). インストールされたか確認:

$ paru -Ss ibus-mozc
:
aur/ibus-mozc 2.28.4880.102-1 [+10 ~1.55] [インストール済み]        ←(注目)
    Mozc module for IBus
aur/ibus-mozc-ut-united 2.28.4880.102_20221022_2.28.4880.102.r14.g05ec1326-1 [+6 ~0.04]
    IBus engine module for Mozc with UT dictionary
aur/ibus-mozc-ut-full 2.28.4800.102.20220723-1 [+1 ~0.14] [古いバージョン: 2022-11-05]
    IBus engine module for Mozc with UT dictionary

-

$ paru -Ss ibus | grep インストール済み
:
core/libusb 1.0.26-1 [70.91KiB 211.04KiB] [インストール済み]
extra/ibus 1.5.27-1 [0B 7.52MiB] [インストール済み]
extra/libgusb 0.4.2-1 [0B 2.48MiB] [インストール済み]
extra/libibus 1.5.27-1 [0B 93.57MiB] [インストール済み]
extra/libusbmuxd 2.0.2-1 [33.35KiB 113.15KiB] [インストール済み]
community/hidapi 0.12.0-1 [27.78KiB 87.76KiB] [インストール済み]
aur/ibus-mozc 2.28.4880.102-1 [+10 ~1.55] [インストール済み]       ←(注目)

-

$ paru -Ss mozc | grep インストール済み
:
aur/mozc 2.28.4880.102-1 [+70 ~0.92] [インストール済み]
aur/ibus-mozc 2.28.4880.102-1 [+10 ~1.55] [インストール済み]

-

7). ログアウト →ログイン

-

8). キーボードアイコンが表示されません。

→「ibus デーモン」が自動起動に登録されていないようです。

-

9). 「自動起動」の設定ファイル

$ ls -1 ~/.config/autostart/
firewall-applet.desktop

-

$ ls -1 /etc/xdg/autostart/
:
at-spi-dbus-bus.desktop
eos-update-notifier.desktop
firewall-applet.desktop
nm-applet.desktop
user-dirs-update-gtk.desktop
wallpaper-once.desktop
welcome.desktop
xapp-sn-watcher.desktop

-

9). 「自動起動」の設定ファイルに追加:

$ sudo xed /etc/xdg/autostart/ibus-daemon.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=IBus daemon
Comment=ibus デーモンの起動
Exec=/usr/bin/ibus-daemon -drx
StartupNotify=false
Terminal=false
Hidden=false

-

10). 再起動

$ reboot

-

11). キーボードアイコンが表示され、「半角/全角」キーで日本語オンになりました。

-

12). 日本語入力できるかの確認:

-

テキストエディタ「xed」を起動:
  • パネルのキーボードアイコン、または「JA」をクリックして「日本語 - Mozc」を選ぶか、

または、

  • Windows+スペース」キーを押してから、

  →「半角/全角」キーを押すと、日本語入力できました:

→右上の「あ」の色が見やすい水色に変更されていることに注目。

-

13). 参考: 入力メソッドのアイコンは、明るい水色に変更されています

以前行っていた「オレンジ色」に変更する、下記のコマンドは必要はありません:

$ gsettings set org.freedesktop.ibus.panel xkb-icon-rgba '#f57900'

-

-


14). 任意:「Windows+スペース」では面倒なので、「半角/全角」キーに割当てを変更:

-

(1). パネルの「JA」または、「あ」を右クリック → 設定 →「IBusの設定」画面

「一般」タブ

「キーボードショートカット」

-

(2). 「次の入力メソッド: space」の右にある「…」をクリック

「Super」のチェックを外して、キーコード「space」の右にある「…」をクリック→「無効」をクリック→「新しいアクセレータ」で「半角/全角」キーを押します。

「適用」ボタンを押します。

→「Zenkaku_Hankaku」に変わりました。

→「OK」

-

(3). 「ibus-mozc」が登録されているか確認:

-

「入力メソッド」タブ

→「日本語 - 日本語」以外は削除。「日本語 - Mozc」を追加で登録。

-

(4). これで、「半角/全角」キーで、「JA」、「あ」の切り替えができます。

-


15). 任意:「日本語 キーボード」の個別のキーに割当てを定義:

  • 「半角/全角」キーだけで日本語オン・オフするなら、この作業は不要です。

-

(1). パネルの「JA」または、「あ」を左クリック → ツール →プロパティ →「Mozc プロパティ」画面

-

(1)'. パネルの「JA」または、「あ」を右クリック → 設定 →「IBusの設定」画面 →「入力メソッド」タブ→「日本語 - Mozc」を選んで「設定」→「Mozc プロパティ」画面

-

「一般」タブ

-

(2). 左下の「初期値に戻す」 →OK

-

(3). キー設定の選択: →「カスタム」を選んで右の「編集…」

→「Mozc キー設定」画面

-

(4). 左下の「編集」→「定義済みのキーマップからインポート」→「MS-IME」→OK

-

(5). 再び、「編集…」(ウィンドウはマウスで縦に広げておくと、作業しやすいです)

上段にある表題の「入力キー」の項目名をクリックして、ソート

-

(6). 下記のキーのコマンドを修正:
モード 入力キー コマンド 備考
変換前入力中 Hiragana IME を有効化
変換中 Hiragana IME を有効化
直接入力 Hiragana IME を有効化
入力文字なし Hiragana IME を有効化
:
変換前入力中 Muhenkan IME を無効化
変換中 Muhenkan IME を無効化
直接入力 Muhenkan IME を無効化 エントリーの追加が必要
入力文字なし Muhenkan IME を無効化

-

→OK →OK

→適用 →OK

→「閉じる」

-

(7). これで「あ」を見なくても操作できます:
  • 「ひらがな」キー(Hiragana)で「IME オン」→日本語
  • 「無変換」キー(Muhenkan)で「IME オフ」→英語

(mozc は入力メソッドのオン、オフを別々のキーに簡単に割当てできるので便利です)

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --

13. 「i3-wm」環境を使いやすくする設定:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ---

13-1. ログインで「Firefox」が起動、「i3-setup」のサイトが開くので、起動しないように変更:

-

「i3-wm」の設定ファイルを修正:

$ xed ~/.config/i3/config
# Autostart apps as you like
#exec --no-startup-id sleep 2 && xfce4-terminal
exec --no-startup-id sleep 7 && firefox https://github.com/endeavouros-team/endeavouros-i3wm-setup/blob/main/force-knowledge.md
#exec --no-startup-id sleep 3 && thunar

↓ コメント化:

# Autostart apps as you like
#exec --no-startup-id sleep 2 && xfce4-terminal
#exec --no-startup-id sleep 7 && firefox https://github.com/endeavouros-team/endeavouros-i3wm-setup/blob/main/force-knowledge.md
#exec --no-startup-id sleep 3 && thunar

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----

13-2. Windows + w のショートカットで、ESR 版の「Firefox」が起動しないので修正:

-

「i3-wm」の設定ファイルを修正:

$ xed ~/.config/i3/config

-

「shortcut」で検索:

276行目:

## App shortcuts 
bindsym $mod+w exec /usr/bin/firefox

↓ 修正:

## App shortcuts
bindsym $mod+w exec /usr/local/bin/firefox

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -----

13-3. 「Print Screen」キーを押したときに作られるファイル名を修正:

-

1). 「scrot」がインストールされているか確認:

$ pacman -Ss scrot
:
community/scrot 1.7-1 [インストール済み]
    Simple command-line screenshot utility for X

-

バージョン表示:

$ scrot --version
scrot version 1.7

-

2). 「i3-wm」の設定ファイルを修正:

$ xed ~/.config/i3/config

-

「shortcut」で検索:

276行目:

## App shortcuts

279行目:

bindsym Print exec scrot ~/%Y-%m-%d-%T-screenshot.png && notify-send "Screenshot saved to ~/$(date +"%Y-%m-%d-%T")-screenshot.png"

↓ 修正:

# bindsym Print exec scrot ~/%Y-%m-%d-%T-screenshot.png && notify-send "Screenshot saved to ~/$(date +"%Y-%m-%d-%T")-screenshot.png"
bindsym Print exec scrot ~/"画像/Screenshots-%Y-%m-%d-%T.png" && notify-send "Screenshot saved to screenshot.png"

-

(3). 再起動:
$ reboot

-

(4). 「Print Screen」キーを押して確認:
$ ls -1 ~/画像/
:
Screenshots-2022-12-16_18:03:50.png

→全画面で画像が作成されました。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- -

13-4. 「ショートカットを表示」するメニューを「Welcome」アプリに追加:

→「項番 17. 1). 」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- --

13-5. 解像度と壁紙をセットするコマンドを「ショートカットキー」の Windows + Z に登録:

-

(1). セットするコマンドの動作確認:
$ xrandr --output Virtual-1 --mode 1680x1050 && ~/.fehbg

-

(2). 「ショートカットキー」に登録:
$ xed ~/.config/i3/config

-

「shortcut」で検索:

276行目:

## App shortcuts

↓ 項目の後ろに追記:

281行目:

bindsym $mod+z exec xrandr --output Virtual-1 --mode 1680x1050 && ~/.fehbg

→解像度は任意で置換えのこと

-

(3). 再起動:
$ reboot

-

(4). 動作確認:

デスクトップ上で、Windows + Z

→画面の解像度が広がり、壁紙もきっちりとセットされました。

-

(5). ちょうど良い画面サイズに調整:

-

Boxes のウィンドウの「左下」をマウスでドラッグして、解像度よりも少し広い大きさにします:

こちらの画面では壁紙の再セットを行っていない状態です。

→その解像度での、文字が一番大きいサイズになるようにします。

「左下」隅をマウスでドラッグするのがコツです。下方向にも広げないと、文字は大きくなりません。

-

今度は逆に、左右の黒い余白が少なくなるように右に縮めます

解像度よりも狭くなると、画面が縮小され、文字も小さくなります。

作業しやすい画面の広さで、文字が判読できる大きさで止めます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ---

13-6. ウィンドウの「リサイズ」の機能を使えるように設定:

-

Windows + R のデフォルトは「リサイズモード」に入るショートカットですが、コメント化されています。

-

使えるようにコメントを解除:

$ xed ~/.config/i3/config

-

「resize」で検索: 144 行目付近

# resize window (you can also use the mouse for that):    ←(ウィンドウサイズ変更、マウス使用可)
#mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window's width.    ←(「左へドラッグ」幅が縮小)
# Pressing right will grow the window's width.    ←(「右へドラッグ」幅が拡大)
# Pressing up will shrink the window's height.    ←(「上へドラッグ」縦が縮小)
# Pressing down will grow the window's height.    ←(「下へドラッグ」縦が拡大)
#        bindsym j resize shrink width 10 px or 10 ppt    ←(「j」幅が縮小)
#        bindsym k resize grow height 10 px or 10 ppt    ←(「k」縦が拡大)
#        bindsym l resize shrink height 10 px or 10 ppt    ←(「l」エル 縦が縮小)
#        bindsym ntilde resize grow width 10 px or 10 ppt    ←(「;」幅が拡大)

# same bindings, but for the arrow keys    ←(矢印キー用)
#   bindsym Left resize shrink width 10 px or 10 ppt    ←(「←」幅が縮小)
#        bindsym Down resize grow height 10 px or 10 ppt    ←(「↓」縦が拡大)
#        bindsym Up resize shrink height 10 px or 10 ppt    ←(「↑」縦が縮小)
#        bindsym Right resize grow width 10 px or 10 ppt    ←(「→」幅が拡大)

# back to normal: Enter or Escape    ←(通常のウィンドウサイズに戻る)
#   bindsym Return mode "default"
#        bindsym Escape mode "default"
#}

#bindsym $mod+r mode "resize"           ←(「リサイズモード」に入る)

↓ 修正:

# resize window (you can also use the mouse for that):
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window's width.
# Pressing right will grow the window's width.
# Pressing up will shrink the window's height.
# Pressing down will grow the window's height.
        bindsym j resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 ppt
        bindsym ntilde resize grow width 10 px or 10 ppt

# same bindings, but for the arrow keys
        bindsym Left resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Right resize grow width 10 px or 10 ppt

# back to normal: Enter or Escape
#   bindsym Return mode "default"
        bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"

→外し忘れに注意。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----

13-7. キーを押しても、「ショートカットキー」が働かないとき:

-

Windows + R で、「アプリケーションファインダ」(アプリの検索窓)が表示される場合:

ホストOS 側が選択されています。

ゲストOS のデスクトップかアプリをクリック後に操作します。

-

Windows + D で、Boxes のウィンドウが消えてしまう場合:

ホストOS 側でデスクトップ表示のみのショートカットキーが働きました。

もう一度、Windows + D すると、Boxes のウィンドウが表示されます。

ゲストOS のデスクトップかアプリをクリック後に操作します。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- -----

13-8. 参考: 「端末」の背景を透明にする設定:

-

参考:

ArchWiki - picom

-

$ xed ~/.config/i3/config

「transpar」(transparent の頭文字: 透明)で検索:

##############
# compositor #
##############

# transparency         ←(ヒット)330行目
# uncomment one of them to be used
# options could need changes, related to used GPU and drivers.
# to find the right setting consult the archwiki or ask at the forum.

和訳:

透明度

使用する GPU とドライバーに関連するオプションを変更する必要がある場合は、そのうちの 1つのコメントを解除します。適切な設定を見つけるには、archwiki を参照するか、フォーラムで質問してください。

-

パネル (i3bar) を透明にする箇所もありますが、今回は無視。

-

(1). 2つの手段のひとつ(テアリングの改修アプリ)を選択:

344行目:

# picom: https://wiki.archlinux.org/title/Picom
# manpage: https://man.archlinux.org/man/picom.1.en
# The default configuration is available in /etc/xdg/picom.conf 
# For modifications, it can be copied to ~/.config/picom/picom.conf or ~/.config/picom.conf
# install picom package (yay -S picom)
# start using default config 
#exec_always --no-startup-id picom -b
#
# for custom config:
#exec_always --no-startup-id picom --config  ~/.config/picom.conf

和訳:

デフォルト設定は「/etc/xdg/picom.conf」にあります
変更する場合は、「~/.config/picom/picom.conf」 または 「~/.config/picom.conf」にコピーします

picom パッケージをインストール (yay -S picom)

デフォルト設定を使う場合:
#exec_always --no-startup-id picom -b

カスタム設定を使う場合:
#exec_always --no-startup-id picom --config  ~/.config/picom.conf

ゆえに、

-

(2). 続けて、i3 設定ファイルを修正:

「picom -b」で検索:

350行目:

#exec_always --no-startup-id picom -b

↓ コメント解除:

exec_always --no-startup-id picom -b

→Ctrl + s で保存。

→Ctrl + q で閉じます。

-

(3). 「picom」のインストール:

X compositor that may fix tearing issues

テアリング(チラチラとナミナミ)の問題を修正する可能性のある X コンポジター

-

$ paru -S picom
:
パッケージ (2)       新しいバージョン  最終的な変化  ダウンロード容量
community/libconfig  1.7.3-1               0.24 MiB          0.09 MiB
community/picom      10.2-1                0.47 MiB          0.18 MiB

-

(4). 再起動:
$ reboot

-

(5). Windows + Enter で「端末」を起動して確認:

→「端末」画面が半透明になりました:

-

(6). 参考: picom の設定ファイルの内容を確認:
$ cat /etc/xdg/picom.conf

→長いので、表示は省略。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- -

13-9. 参考: ウィンドウのタイトルバーを表示する設定:

-

タイトルバーの表示は、「i3gaps」では公式にはサポートされていません。

-

$ xed ~/.config/i3/config

「title」(タイトル)で検索:

ヒット 21行目:

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango: Noto Sans Regular 10

和訳:

ウィンドウタイトルのフォント

以下の bar {} ブロックで別のフォントが使用されていない限り、バーでも使用されます。
このフォントは広くインストールされており、多数の Unicode グリフ、右から左へのテキスト レンダリング、および Retina / HiDPI ディスプレイでのスケーラビリティを提供します (pango に感謝)。

font pango: Noto Sans Regular 10

→フォントの指定はOK(日本語の表示)

-

ヒット 59行目:

# show window title bars (not officially supported with i3gaps) 
#default_border normal

# window title alignment
#title_align center

和訳:

ウィンドウのタイトルバーを表示 (i3gaps では公式にはサポートされていません)
#default_border normal

ウィンドウのタイトル配置
#title_align center

ゆえに、

-

(1). 続けて、i3 設定ファイルを修正:

59行目:

# show window title bars (not officially supported with i3gaps) 
#default_border normal

# window title alignment
#title_align center

↓ コメント解除:

# show window title bars (not officially supported with i3gaps) 
default_border normal

# window title alignment
title_align center

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- --

13-10. 「Welcome」アプリをワークスペース 5 に割当て:

-

「Welcome」アプリを起動するショートカットを定義。

および、ワークスペース 5 の「TelegramDesktop」の代わりに「Welcome」を割当てました。

-

1).「Welcome」アプリを起動するショートカットを定義:

$ xed ~/.config/i3/config

276 行目:

## App shortcuts

↓ 項目の一番後ろに、下記の行を追記:

282 行目:

bindsym $mod+x exec "eos-welcome --once"

Windows + X で、「Welcome」が起動

-

2). ワークスペース 5 に「Welcome」を割当て:

$ xed ~/.config/i3/config

-

修正1: 指定したワークスペースにて、アプリを起動:

313 行目:

# bind program to workspace and focus to them on startup:

-

318 行目:

assign [class="TelegramDesktop"] $ws5

↓ 下記に修正:

# assign [class="TelegramDesktop"] $ws5
assign [class="Yad"] $ws5

ワークスペース5 に、「Welcome」を起動:

-

修正2: ワークスペースを選択(表示):

321 行目:

# automatic set focus new window if it opens on another workspace than the current:

-

326 行目:

for_window [class=TelegramDesktop] focus

↓ 下記に修正:

# for_window [class=TelegramDesktop] focus
for_window [class="Yad"] focus

ワークスペース5 の「Welcome」を表示:

-

3). 再起動:

$ reboot

-

4). 念の為、設定ファイルを保存:

$ mkdir -p ~/ダウンロード/my-app
$ cp ~/.config/i3/config ~/ダウンロード/my-app/i3-config.2022-12-29

-

$ ls ~/ダウンロード/my-app/
i3-config.2022-12-29

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ---

13-11. パネルに、「Welcome」のランチャーアイコンを追加:

-

1). パネルバー「i3blocks」の設定を修正:

$ xed ~/.config/i3/i3blocks.conf

-

50 行目:

[terminal]
full_text= 
color=#807dfe
command=i3-msg -q exec xfce4-terminal

↓ 「端末」のアイコンの前に「Welcome」のアイコンを挿入:

[welcome]
full_text= 
color=#dbcb75
command=i3-msg -q exec "eos-welcome --once"

[terminal]
full_text= 
color=#807dfe
command=i3-msg -q exec xfce4-terminal

-

2). 再起動:

$ reboot

-

3). 動作確認:

パネルの中央の黄色の「吹き出し」アイコンをクリック

→「Welcome」が「ワークスペース5」で起動

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----

14. 「Welcome」アプリを日本語化:

-

追記: 2023-01-15

「eos-translations」がバージョンアップして、「Welcome」アプリが日本語に対応:

→手動で「Welcome」アプリを日本語化しなくても良くなりました。

ただし、すでに、手動で日本語化している場合は、システム更新が失敗するので、
下記を実行してから、システム更新して下さい:

$ sudo rm /usr/share/endeavouros/scripts/translation-ja.bash
$ paru (もしくは、yay)

-

↓ 下記の作業は不要になりました。


-

「Welcome」アプリが便利なので、真っ先に日本語化しました。

-

「Welcome」アプリの公式サイト:

翻訳関連:

PKGBUILDS/eos-translations/

-

1). 「Welcome」アプリが起動していたら、閉じて作業:

$ eos-welcome --version
3.44-1

-

2). Welcome アプリの、日本語の翻訳ファイルを作成:

$ cd /usr/share/endeavouros/scripts/
$ ls /usr/share/endeavouros/scripts/
:
eos-script-lib-yad   translation-fr.bash  translation-pt_BR.bash  translation-zh_CN.bash
ksetwallpaper.py     translation-hi.bash  translation-ro.bash     translation-zh_HK.bash
translation-de.bash  translation-hr.bash  translation-rs.bash     translation-zh_SG.bash
translation-en.bash  translation-is.bash  translation-ru.bash     translation-zh_TW.bash
translation-es.bash  translation-it.bash  translation-se.bash     translations.bash
translation-fa.bash  translation-pl.bash  translation-sk.bash     wallpaper-once
translation-fi.bash  translation-pt.bash  translation-th.bash     welcome
$ sudo xed /usr/share/endeavouros/scripts/translation-ja.bash

↓ 連続して、区切りは無視して、すべて貼り付けてください:

  長いので、マウスで先頭の「#」をダブルクリックして選び、
  Shift キーを押したまま、下矢印「↓」を押して選択すると良いです

# Translations for the Welcome app.
#
# Note: variables (like $PRETTY_PROGNAME below) may be used if they are already defined either
# - in the Welcome app
# - globally
#
#
# Any string should be defined like:
#
#    _tr_add <language> <placeholder> "string"
#          or
#    _tr_add2 <placeholder> "string"
#
# where
#
#    _tr_add         A bash function that adds a "string" to the strings database.
#    _tr_add2        Same as _tr_add but knows the language from the _tr_lang variable (below).
#    <language>      An acronym for the language, e.g. "en" for English (check the LANG variable!).
#    <placeholder>   A pre-defined name that identifies the place in the Welcome app where this string is used.
#    "string"        The translated string for the Welcome app.

# Japanese:

### First some useful definitions:

_tr_lang=ja            # required helper variable for _tr_add2

# Help with some special characters (HTML). Yad has problems without them:
_exclamation='&#33;'   # '!'
_and='&#38;'           # '&'
_question='&#63;'      # '?'


###################### Now the actual strings to be translated: ######################
# func   <placeholder>         "string"

_tr_add2 welcome_disabled      "$PRETTY_PROGNAME アプリは無効です。有効にするには、オプション --enable を使います(一時的には: --once)。"  # changed 2022-Feb-21

_tr_add2 butt_later            "また後で"
_tr_add2 butt_latertip         "$PRETTY_PROGNAME を有効のままにします"

_tr_add2 butt_noshow           "今後表示しない"
_tr_add2 butt_noshowtip        "$PRETTY_PROGNAME を無効にします"

_tr_add2 butt_help             "ヘルプ"


_tr_add2 nb_tab_INSTALL        "インストール"
_tr_add2 nb_tab_GeneralInfo    "通常の情報"
_tr_add2 nb_tab_AfterInstall   "インストール後"
_tr_add2 nb_tab_AddMoreApps    "アプリを追加"


_tr_add2 after_install_text    "インストール後の作業"

_tr_add2 after_install_um      "ミラーの更新"
_tr_add2 after_install_umtip   "システム更新前にミラーのリストを更新します"

_tr_add2 after_install_us      "システムの更新"
_tr_add2 after_install_ustip   "システム ソフトウェアを更新します"

_tr_add2 after_install_dsi     "システムの問題を検出"
_tr_add2 after_install_dsitip  "システム パッケージなどの潜在的な問題を検出します"

_tr_add2 after_install_etl     "EndeavourOS を最新にするには $_question"
_tr_add2 after_install_etltip  "EndeavourOS を最新にするには何をすべきかを表示します"

_tr_add2 after_install_cdm     "ディスプレイ マネージャの変更"
_tr_add2 after_install_cdmtip  "別のディスプレイ マネージャを使います"

_tr_add2 after_install_ew      "EndeavourOS にてデフォルトの壁紙を使う"      # was: "EndeavourOS wallpaper"
_tr_add2 after_install_ewtip   "デフォルトの壁紙にリセットします"     # was: "Change desktop wallpaper to EOS default"


_tr_add2 after_install_pm      "パッケージ管理"
_tr_add2 after_install_pmtip   "pacman でパッケージを管理する方法"

_tr_add2 after_install_ay      "AUR $_and yay $_exclamation"
_tr_add2 after_install_aytip   "AUR と yay の情報"

_tr_add2 after_install_hn      "ハードウェアとネットワーク"
_tr_add2 after_install_hntip   "ハードウェアを機能させます"

_tr_add2 after_install_bt      "Bluetooth"
_tr_add2 after_install_bttip   "Bluetooth の使用上の注意"

_tr_add2 after_install_nv      "NVIDIA ユーザへ $_exclamation"
_tr_add2 after_install_nvtip   "NVIDIA インストーラーを使います"

_tr_add2 after_install_ft      "フォーラムの便利な使い方"
_tr_add2 after_install_fttip   "ヘルプの求め方 $_exclamation"


_tr_add2 general_info_text     "EndeavourOS のWeb サイトを見る $_exclamation"

_tr_add2 general_info_ws       "Web サイト"

_tr_add2 general_info_wi       "Wiki"
_tr_add2 general_info_witip    "注目の記事"

_tr_add2 general_info_ne       "ニュース"
_tr_add2 general_info_netip    "ニュースと記事"

_tr_add2 general_info_fo       "フォーラム"
_tr_add2 general_info_fotip    "フレンドリーなフォーラムで質問、コメント、チャット $_exclamation"

_tr_add2 general_info_do       "寄付"
_tr_add2 general_info_dotip    "EndeavourOS の実行を維持するためにご協力ください"

_tr_add2 general_info_ab       "$PRETTY_PROGNAME について"
_tr_add2 general_info_abtip    "このアプリの詳細"


_tr_add2 add_more_apps_text    "人気のアプリをインストール"

_tr_add2 add_more_apps_lotip   "Office ツール (libreoffice-fresh)"

_tr_add2 add_more_apps_ch      "Chromium Web ブラウザ"
_tr_add2 add_more_apps_chtip   "Web ブラウザ"

_tr_add2 add_more_apps_fw      "ファイアウォール"
_tr_add2 add_more_apps_fwtip   "Gufw ファイアウォール"

_tr_add2 add_more_apps_bt      "Xfce 用 Bluetooth (blueberry)"
_tr_add2 add_more_apps_bt_bm   "Xfce 用 Bluetooth (blueman)"


####################### NEW STUFF AFTER THIS LINE:

_tr_add2 settings_dis_contents   "$PRETTY_PROGNAME を再実行するには、ターミナルを起動して次を実行します:\n<tt>   $PROGNAME --enable</tt>\nor\n<tt>   $PROGNAME --once</tt>\n"  # slightly changed 2021-Dec-21; changed again 2022-Apr-06
_tr_add2 settings_dis_text       "$PRETTY_PROGNAME の再有効化:"
_tr_add2 settings_dis_title      "$PRETTY_PROGNAME を再度有効にする方法"
_tr_add2 settings_dis_butt       "覚えました"
_tr_add2 settings_dis_buttip     "約束します"

_tr_add2 help_butt_title         "$PRETTY_PROGNAME のヘルプ"
_tr_add2 help_butt_text          "$PRETTY_PROGNAME アプリの詳細"

_tr_add2 dm_title                "ディスプレイマネージャを選択"
_tr_add2 dm_col_name1            "選択済み"
_tr_add2 dm_col_name2            "ディスプレイマネージャ名"

_tr_add2 dm_reboot_required      "変更を有効にするには再起動が必要です。"
_tr_add2 dm_changed              "ディスプレイマネージャが次のように変更されました: "
_tr_add2 dm_failed               "ディスプレイマネージャの変更に失敗しました。"
_tr_add2 dm_warning_title        "警告"

_tr_add2 install_installer       "インストーラー"
_tr_add2 install_already         "インストール済み"
_tr_add2 install_ing             "インストール"
_tr_add2 install_done            "終了。"

_tr_add2 sysup_no                "更新はありません。"
_tr_add2 sysup_check             "ソフトウェア更新を確認..."

_tr_add2 issues_title            "パッケージの問題を検出"
_tr_add2 issues_grub             "重要: ブート メニューを手動で再作成する必要があります。"
_tr_add2 issues_run              "コマンドの実行:"
_tr_add2 issues_no               "重要なシステムの問題は検出されませんでした。"

_tr_add2 cal_noavail            "利用できません: "        # installer program
_tr_add2 cal_warn               "警告"
_tr_add2 cal_info1              "これはコミュニティが開発したリリースです。\n\n"     # specials needed!
_tr_add2 cal_info2              "<b>オフライン</b> 方式は、EndeavourOS をテーマにした Xfce デスクトップを提供します。\nインターネット接続は必要ありません。\n\n"
_tr_add2 cal_info3              "<b>オンライン</b> 方式では、バニラのテーマでデスクトップを選択できます。\nインターネット接続が必要です。\n\n"
_tr_add2 cal_info4              "注意: このリリースは進行中です。バグを報告して、安定させるためにご協力ください。\n"
_tr_add2 cal_choose             "インストールのやり方を選択"
_tr_add2 cal_method             "方式"
_tr_add2 cal_nosupport          "$PROGNAME: サポートされていないモードです: "
_tr_add2 cal_nofile             "$PROGNAME: 必要なファイルが存在しません: "
_tr_add2 cal_istarted           "インストールの開始"
_tr_add2 cal_istopped           "インストールの完了"

_tr_add2 tail_butt              "このウィンドウを閉じます"
_tr_add2 tail_buttip            "このウィンドウだけを閉じます"


_tr_add2 ins_text              "ディスクに EndeavourOS をインストール"
_tr_add2 ins_start             "インストーラーを起動"
_tr_add2 ins_starttip          "デバッグ端末とともに EndeavourOS インストーラーを起動"
_tr_add2 ins_up                "このアプリを更新 $_exclamation"
_tr_add2 ins_uptip             "このアプリを更新して再起動"
_tr_add2 ins_keys              "pacman のキーの初期化"
_tr_add2 ins_keystip           "pacman のキーを初期化します"
_tr_add2 ins_pm                "パーティション管理マネージャ"
_tr_add2 ins_pmtip             "Gparted アプリを使うと、ディスクのパーティションと構造を調査および管理できます"
_tr_add2 ins_rel               "最新のリリース情報"
_tr_add2 ins_reltip            "最新のリリースに関する詳細情報"
_tr_add2 ins_tips              "インストールのヒント"
_tr_add2 ins_tipstip           "インストールのヒント"
_tr_add2 ins_trouble           "トラブル解決"
_tr_add2 ins_troubletip        "システム復旧"

_tr_add2 after_install_us_from    "更新 "                            # AUR or upstream
_tr_add2 after_install_us_el      "管理者権限が必要です。"
_tr_add2 after_install_us_done    "更新完了。"
_tr_add2 after_install_us_fail    "更新に失敗しました $_exclamation"

# 2020-May-14:

_tr_add2 nb_tab_UsefulTips     "ヒント"
_tr_add2 useful_tips_text      "役立つヒント"

# 2020-May-16:

_tr_add2 butt_changelog        "変更ログ"
_tr_add2 butt_changelogtip     "Welcome の変更ログを表示します"

_tr_add2 after_install_themevan      "Xfce バニラテーマ"
_tr_add2 after_install_themevantip   "バニラの Xfce テーマを使います"

_tr_add2 after_install_themedef     "Xfce EndeavourOS デフォルトテーマ"
_tr_add2 after_install_themedeftip  "EndeavourOS のデフォルトの Xfce テーマを使います"

# 2020-Jun-28:
_tr_add2 after_install_pclean       "パッケージのクリーンアップ設定"
_tr_add2 after_install_pcleantip    "パッケージ キャッシュのクリーンアップ サービスを設定します"

# 2020-Jul-04:
_tr_add2 nb_tab_OwnCommands         "個人用コマンド"                   # modified 2020-Jul-08
_tr_add2 nb_tab_owncmds_text        "個人用に作成したコマンド"         # modified 2020-Jul-08

# 2020-Jul-08:
_tr_add2 nb_tab_owncmdstip          "個人用コマンドの追加に関するヘルプ"

_tr_add2 add_more_apps_akm          "カーネル管理マネージャ"
_tr_add2 add_more_apps_akmtip       "小さな Linux カーネル マネージャとソースの情報"

# 2020-Jul-15:
_tr_add2 butt_owncmds_help        "チュートリアル: 個人用コマンド"

# 2020-Aug-05:
_tr_add2 butt_owncmds_dnd         "個人用コマンド ドラッグ${_and}ドロップ"
_tr_add2 butt_owncmds_dnd_help    "新しいボタンのフィールド項目をドラッグする、ウィンドウを表示します"

# 2020-Sep-03:
_tr_add2 ins_reso                 "ディスプレイの解像度を変更"
_tr_add2 ins_resotip              "ディスプレイの解像度を今すぐ変更します"

# 2020-Sep-08:
_tr_add2 add_more_apps_arch          "すべての Arch パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_aur           "すべての AUR パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_done1_text    "推奨アプリは既にインストールされています $_exclamation"
_tr_add2 add_more_apps_done2_text    "またはすべての Arch および AUR パッケージをブラウザで閲覧"
_tr_add2 add_more_apps_done2_tip1    "インストールに、「pacman」または「AUR ヘルパー」を使います"
_tr_add2 add_more_apps_done2_tip2    "インストールに、「AUR ヘルパー」を使います"

# 2020-Sep-11:
_tr_add2 after_install_ew2        "EndeavourOS の壁紙の 1つを選択"   # was: "EndeavourOS wallpaper (choose)"
_tr_add2 after_install_ewtip2     "壁紙を選択します"                 # was: "Choose from EndeavourOS default wallpapers"

# 2020-Sep-15:
#    IMPORTANT NOTE:
#       - line 71:  changed text of 'after_install_ew'
#       - line 72:  changed text of 'after_install_ewtip'
#       - line 249: changed text of 'after_install_ew2'
#       - line 250: changed text of 'after_install_ewtip2'

# 2020-Oct-23:
_tr_add2 updt_update_check        "更新の確認"
_tr_add2 updt_searching           "検索中"
_tr_add2 updt_for_updates         "にて更新"
_tr_add2 updt_failure             "失敗 $_exclamation"
_tr_add2 updt_nothing_todo        "やることが何もありません"
_tr_add2 updt_press_enter         "ENTER を押してこのウィンドウを閉じます"

# 2020-Oct-24:
#    IMPORTANT NOTE:
#       - line 244: changed text of 'add_more_apps_done2_text'

# 2020-Dec-11:
_tr_add2 after_install_pacdiff_tip "pacnew、pacorig の管理 $_and pacdiff を使用した pacsave ファイル $_and"

# 2021-Apr-07:
_tr_add2 after_install_conf           "設定"                             # a starting verb on a sentence "Configure eos-update-notifier"
_tr_add2 after_install_more_wall      "EndeavourOS の壁紙をもっとダウンロード"
_tr_add2 after_install_more_wall_tip  "EndeavourOS の以前の壁紙とコミュニティの壁紙をダウンロードします"
_tr_add2 after_install_info           "情報"                           # last word on a sentence, means just any information

_tr_add2 butt_softnews                "ソフトウェアニュース"
_tr_add2 butt_softnews_tip            "EndeavourOS ソフトウェアに関する重要なお知らせ"

_tr_add2 install_community            "コミュニティ エディションをインストール"
_tr_add2 install_community_tip        "コミュニティ版コレクション (オンラインが必要)"    # changed 2021-Oct-23

# 2021-May-01
_tr_add2 ins_syslog                   "システムログを共有する方法"
_tr_add2 ins_syslogtip                "サポートが必要な場合にシステム ログを共有する方法について説明します"
_tr_add2 ins_logtool                  "トラブル解決用のログ"
_tr_add2 ins_logtooltip               "ヘルプを求めるときにトラブル解決用のログを選択、作成、共有します"

# 2021-May-20
_tr_add2 nb_tab_DailyAssistant       "補助"
_tr_add2 daily_assistant_text        "日常的に使える便利なツール"
_tr_add2 after_install_itab          "Welcome で最初に開くタブを選択"
_tr_add2 after_install_itab_tip      "Welcome の開始時に表示するタブを設定します"

# 2021-Jun-08
_tr_add2 daily_assist_apps           "アプリケーションのカテゴリ"
_tr_add2 daily_assist_apps_tip       "カテゴリ別に分類されたアプリケーション"

_tr_add2 after_install_vbox1         "VirtualBox  Guest ユーティリティを有効にする"
_tr_add2 after_install_vbox2         "VirtualBox Guest ユーティリティを有効にするには、「<b>AfterInstall</b>」タブを選択し、ボタンをクリックします "

# 2021-Jun-17
_tr_add2 after_install_r8168         "有線ネットワークの問題 $_question r8168 および r8169 ドライバーの切替え $_exclamation"    # changed 2021-Dec-14 !!
_tr_add2 after_install_r8168_tip     "r8168 ドライバーと r8169 ドライバーを切替えます (再起動が必要な場合があります)"           # changed 2021-Dec-14 !!

# 2021-Oct-08
_tr_add2 daily_assist_DEinfo         "情報"                                         # assume prefix "DE:", e.g.: "Xfce: information"
_tr_add2 daily_assist_DEinfo_tip     "このデスクトップ/ウィンドウ マネージャに関する詳細情報"  # assume prefix "DE:", e.g.: "Xfce: more information ..."

# 2022-Feb-16
_tr_add2 add_more_apps_qs            "インストールしたい人気のアプリを選択"                      # runs eos-quickstart
_tr_add2 add_more_apps_qstip         "人気のあるアプリを選択してインストール"

# 2022-Mar-21
_tr_add2 ins_blue_notes              "Bluetooth について"
_tr_add2 ins_blue_notes_tip          "Bluetooth の設定に関する注意事項"

# 2022-Mar-27
_tr_add2 after_install_fw            "ファイアウォールの情報"
_tr_add2 after_install_fwtip         "デフォルトのファイアウォールに関する情報"

# 2022-Mar-30
_tr_add2 ins_custom                  "インストール処理のカスタマイズ"
_tr_add2 ins_custom_tip              "インストール処理をカスタマイズする方法"

# 2022-Jul-15
_tr_add2 daily_assist_anews          "Arch の最新ニュース"
_tr_add2 daily_assist_anewstip       "Arch の最新ニュースをブラウザに表示"

# 2022-Sep-25
_tr_add2 nb_nofify_user1             "重要なお知らせがあります "
_tr_add2 nb_nofify_user2             "クリックしてください "                                  # Software News
_tr_add2 nb_nofify_user3             "このウィンドウの左下隅にあるボタンを"

→連続して、すべて貼り付けてください:

  Shift+下矢印「↓」を使って行き過ぎたら、
  Shift キーを押したまま、「↓」だけを離して、「↑」で調整
  Ctrl+C して、テキストエディタに Ctrl+V で貼り付け。

-

ファイルの最後は、337 行目の空行以降のはずです。

そこで、Ctrl+S で保存してください。

-

3). Welcome アプリの翻訳ファイルを確認:

$ ls /usr/share/endeavouros/scripts/
:
eos-script-lib-yad   translation-hi.bash     translation-ro.bash     translation-zh_SG.bash
ksetwallpaper.py     translation-hr.bash     translation-rs.bash     translation-zh_TW.bash
translation-de.bash  translation-is.bash     translation-ru.bash     translations.bash
translation-en.bash  translation-it.bash     translation-se.bash     wallpaper-once
translation-es.bash  translation-ja.bash     translation-sk.bash     welcome
translation-fa.bash  translation-pl.bash     translation-th.bash
translation-fi.bash  translation-pt.bash     translation-zh_CN.bash
translation-fr.bash  translation-pt_BR.bash  translation-zh_HK.bash

→日本語の翻訳ファイルができました。

-

4). 「Welcome」アプリの起動:

端末にて、

$ eos-welcome --once

→Welcome アプリを有効にするには、オプション --enable を使用します。 (一時的には: --once).

-

もしくは、Windows + D →「we」Enter

-

→日本語に変更されました。

-

5). 参考: 「Welcome」アプリの更新があった場合:

原本ファイルの更新日付が変わっていないか確認:

$ cd /usr/share/endeavouros/scripts/
$ ls -l | grep en
-rw-r--r-- 1 root root 14883 10月 31 02:16 translation-en.bash

-

ファイルの内容が変わっていないか確認:

$ cat /usr/share/endeavouros/scripts/translation-en.bash
:
# 2022-Sep-25
_tr_add2 nb_nofify_user1             "There is important news at"
_tr_add2 nb_nofify_user2             "Please click the"                                  # Software News
_tr_add2 nb_nofify_user3             "button at the low left corner of this window."

→今回は、「2022-09-25」までの記述です。

-

更新されても、上記以降に追加された部分を翻訳するだけなので楽です。

翻訳したら、下記に追記します:

$ xed /usr/share/endeavouros/scripts/translation-ja.bash

-

→ただし、翻訳して追記しなくても、一部が翻訳されないだけで、それほど影響はないと思います。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- -----

15. 「eos-update-notifier 」スクリプトで、「paru」を使うように変更:

-

GUI の「Welcome」(3.45-1) 画面の「Update System」メニューでは、「yay」の機能が使われています。

「paru」が使われるように修正:

-

1).「/etc/eos-script-lib-yad.conf」の修正:

項目の「EOS_AUR_HELPER」に、使われるAUR ヘルパーが指定されています。

-

(1). エディタで開きました:
$ sudo xed /etc/eos-script-lib-yad.conf

-

(2). 検索 →検索 →「EOS_AUR_HELPER」で検索:
## EOS_AUR_HELPER contains the AUR helper program name.
## Supported values are yay and paru, but other helpers may work as well.
## The program must support options -Qua and -Sua.
#
EOS_AUR_HELPER="yay"

-

→「AUR ヘルパー」として、「yay」と「paru」が使えます。

-

(3). 設定の修正:
EOS_AUR_HELPER="yay"

↓ 修正:

EOS_AUR_HELPER="paru"

-

2). 再起動:

$ reboot

-

3). 「paru」に変更したので、「yay」を削除:

$ paru -R yay
:
依存関係を確認しています...
:: eos-update-notifier は任意で yay: alternative AUR helper supported by eos-update-notifier を必要とします

パッケージ (1)  古いバージョン  最終的な変化

yay             11.3.1-1           -7.29 MiB

-

4). 削除されたか確認:

$ pacman -Ss yay
:
endeavouros/yay 11.3.1-1
    Yet another yogurt. Pacman wrapper and AUR helper written in go.
community/ruby-yard 0.9.28-2
    YARD is a Ruby Documentation tool. The Y stands for "Yay!"

→削除されました。

-

5). コマンドで更新の通知ができるか確認:

$ eos-update-notifier
:
Checking for updates ...
Checking AUR updates ...
No updates available.

-

システム更新がない状態だと、画面中央に通知が表示されました:

→「EndeavourOS」(i3-wm) で使われているいつもの表示とは違います。

-


6). 「paru」でシステム更新があるまで待ちます(放おっておきます)

「更新の通知」の動作確認は、システム更新が来ないとできません。

-

7). システム更新が来たら、システム更新せずに、自動で「更新の通知」がされるかを確認:

-

(1). コマンドで更新の通知ができるか確認:
$ eos-update-notifier
:
Checking for updates ...
Checking AUR updates ...
No updates available.

-

システム更新がある状態だと、画面右下に通知が表示されました:

→「EndeavourOS」(i3-wm) で使われているいつもの表示です。

(2). ちなみに、Windows + D

→「Configure EOS Update Notifier」

-

(3). 「Operation Test」(操作テスト)をクリック

→画面右下に通知が表示されました。

-

システム更新があるかチェックして、それを通知する機能は働きました。

-

通知機能が働くのと、自動で起動されるかは別です。

-

(4). 「Timer Status」(タイマーの状態表示)をクリック
● eos-update-notifier.timer - EOS update notifier runs periodically (weekly) and soon after a reboot
     Loaded: loaded (/home/ubn/.config/systemd/user/eos-update-notifier.timer; enabled; preset: enabled)
     Active: active (waiting) since Thu 2022-12-22 00:58:19 JST; 4h 56min ago
      Until: Thu 2022-12-22 00:58:19 JST; 4h 56min ago
    Trigger: Mon 2022-12-26 00:00:00 JST; 3 days left
   Triggers: ● eos-update-notifier.service

12月 22 00:58:19 ubn-box systemd[445]: Started EOS update notifier runs periodically (weekly) and soon after a reboot.

ENTER を押してこのウィンドウを閉じます: 

eos-update-notifier.timer のコメント:

EOS 更新通知機能は、定期的 (毎週) および再起動直後に実行されます

→Loaded:自動起動が有効、デフォルトは有効

-

通知機能は働きます。自動起動が有効。

-

8). サービスの設定ファイルを確認:

$ ls /etc/systemd/system/
:
dbus-org.fedoraproject.FirewallD1.service
dbus-org.freedesktop.Avahi.service
dbus-org.freedesktop.nm-dispatcher.service
dbus-org.freedesktop.timesync1.service
display-manager.service
getty.target.wants
multi-user.target.wants
network-online.target.wants
sockets.target.wants
sysinit.target.wants
timers.target.wants
$ ls -l /etc/systemd/user/
:
drwxr-xr-x 2 root root 4096 12月 20 02:12 default.target.wants
lrwxrwxrwx 1 root root   41 12月 20 02:12 pipewire-session-manager.service -> /usr/lib/systemd/user/wireplumber.service
drwxr-xr-x 2 root root 4096 12月 20 02:12 pipewire.service.wants
drwxr-xr-x 2 root root 4096 12月 20 02:12 sockets.target.wants
$ ls -l ~/.config/systemd/user/
:
-rw-r--r-- 1 ubn ubn  188 12月 20 05:35 eos-update-notifier.service
-rw-r--r-- 1 ubn ubn  188  4月 30  2022 eos-update-notifier.service.bak
-rw-r--r-- 1 ubn ubn  195 12月 20 05:35 eos-update-notifier.timer
-rw-r--r-- 1 ubn ubn  195  4月 30  2022 eos-update-notifier.timer.bak
drwxr-xr-x 2 ubn ubn 4096 12月 20 05:35 timers.target.wants

→ホームにありました。ファイルの実行属性がないけど、いいのかな?

-

(1). 2つの設定ファイルの内容を確認:
$ cat ~/.config/systemd/user/eos-update-notifier.service
[Unit]
Description=EOS update notifier service

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/eos-update-notifier -systemd

[Install]
WantedBy=eos-update-notifier.timer

→「Worm」と同じ内容です。

-

$ cat ~/.config/systemd/user/eos-update-notifier.timer
[Unit]
Description=EOS update notifier runs periodically (weekly) and soon after a reboot

[Timer]
OnStartupSec=300 seconds
OnCalendar=weekly
# Persistent=true
 
[Install]
WantedBy=timers.target

→ホームにサービスが書かれていました:

→「Worm」と同じ内容です。

-

(2). 参考: Wiki の、「systemd/user 」で確認:

「systemd/user」機能は、ホームにサービスを記述でき、ログイン時に有効にできます。

そして、管理に使われるコマンドが少し違います。(sudo は要りません)

-

9). 「systemd/user」が、どう認識しているかを確認:

$ systemctl --user status eos-update-notifier.service eos-update-notifier.timer
:
○ eos-update-notifier.service - EOS update notifier service
     Loaded: loaded (/home/ubn/.config/systemd/user/eos-update-notifier.service; disabled; preset: enabled)
     Active: inactive (dead) since Thu 2022-12-22 01:03:48 JST; 5h 13min ago
TriggeredBy: ● eos-update-notifier.timer
    Process: 7131 ExecStart=/usr/bin/eos-update-notifier -systemd (code=exited, status=0/SUCCESS)
   Main PID: 7131 (code=exited, status=0/SUCCESS)
        CPU: 6.541s

12月 22 01:03:31 ubn-box systemd[445]: Starting EOS update notifier service...
12月 22 01:03:42 ubn-box eos-update-notifier[7131]: Checking for updates ...
12月 22 01:03:46 ubn-box eos-update-notifier[7131]: Checking AUR updates ...
12月 22 01:03:48 ubn-box systemd[445]: Finished EOS update notifier service.
12月 22 01:03:48 ubn-box systemd[445]: eos-update-notifier.service: Consumed 6.541s CPU time.

● eos-update-notifier.timer - EOS update notifier runs periodically (weekly) and soon after a reboot
     Loaded: loaded (/home/ubn/.config/systemd/user/eos-update-notifier.timer; enabled; preset: enabled)
     Active: active (waiting) since Thu 2022-12-22 00:58:19 JST; 5h 18min ago
      Until: Thu 2022-12-22 00:58:19 JST; 5h 18min ago
    Trigger: Mon 2022-12-26 00:00:00 JST; 3 days left
   Triggers: ● eos-update-notifier.service

12月 22 00:58:19 ubn-box systemd[445]: Started EOS update notifier runs periodically (weekly) and soon after a reboot.

eos-update-notifier.service
→Loaded:自動起動が無効、デフォルトは有効

eos-update-notifier.timer
→Loaded:自動起動が有効、デフォルトは有効

-

10). 再起動してみると:

$ reboot

-

確認:

→いくら待っても通知されません。

-

11). プログラムの自動起動を行うように指示:

$ systemctl --user enable eos-update-notifier.service eos-update-notifier.timer
:
Created symlink /home/ubn/.config/systemd/user/eos-update-notifier.timer.wants/eos-update-notifier.service → /home/ubn/.config/systemd/user/eos-update-notifier.service.

-

12). 変更されたか確認:

$ systemctl --user status eos-update-notifier.service eos-update-notifier.timer
:
○ eos-update-notifier.service - EOS update notifier service
     Loaded: loaded (/home/ubn/.config/systemd/user/eos-update-notifier.service; enabled; preset: enabled)
     Active: inactive (dead) since Thu 2022-12-22 06:34:37 JST; 2min 33s ago
TriggeredBy: ● eos-update-notifier.timer
   Main PID: 7977 (code=exited, status=0/SUCCESS)
        CPU: 7.907s

12月 22 06:34:19 ubn-box systemd[453]: Starting EOS update notifier service...
12月 22 06:34:31 ubn-box eos-update-notifier[7977]: Checking for updates ...
12月 22 06:34:37 ubn-box systemd[453]: Finished EOS update notifier service.
12月 22 06:34:37 ubn-box systemd[453]: eos-update-notifier.service: Consumed 7.907s CPU time.

● eos-update-notifier.timer - EOS update notifier runs periodically (weekly) and soon after a reboot
     Loaded: loaded (/home/ubn/.config/systemd/user/eos-update-notifier.timer; enabled; preset: enabled)
     Active: active (waiting) since Thu 2022-12-22 06:28:19 JST; 8min ago
      Until: Thu 2022-12-22 06:28:19 JST; 8min ago
    Trigger: Mon 2022-12-26 00:00:00 JST; 3 days left
   Triggers: ● eos-update-notifier.service

12月 22 06:28:19 ubn-box systemd[453]: Started EOS update notifier runs periodically (weekly) and soon after a reboot.

eos-update-notifier.service
→Loaded:自動起動が有効、デフォルトは有効

eos-update-notifier.timer
→Loaded:自動起動が有効、デフォルトは有効

-

13). 再起動:

$ reboot

-

14). ログインにて、通知されるか確認:

→画面右下に通知がありました。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- -

16. ミラーの設定:

-

1). Windows + 0 →ウィンドウ内をクリックか、Enter

ゲストOS 内を選んでおかないと、次の Windows + D がホストOS のショートカットとみなされ、デスクトップ表示が消えます。もう一度押すと復活。

-

2). Windows + D →「We」で絞り込み、Enter →「Welcome」アプリを起動:

→「インストール後」タブが表示

-


3). 1番めのオレンジ色の「ミラーの更新 (Arch)」(Update Mirrors) をクリック

-

(1). 選択する国のミラーを設定する画面が表示:
  • 「Japan」にチェック

  • 「Include https mirrors」にチェック

  • 「Include http mirrors」にチェック ←(https だけでは見つからないときがあるので追加)

→「OK」

-

(2). 下記の reflector が起動されました:

「端末」のワークスペース1 に移動して、「端末」が起動され、ミラーの検索の画面が表示されました:

reflector --verbose -c JP --protocol https --protocol http --sort rate --latest 10 --download-timeout 5

-

(3). 設定されたミラーが表示:
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With:       reflector --verbose -c JP --protocol https --protocol http --sort rate --latest 10 --download-timeout 5
# When:       2022-12-21 23:10:29 UTC
# From:       https://archlinux.org/mirrors/status/json/
# Retrieved:  2022-12-21 23:10:10 UTC
# Last Check: 2022-12-21 22:28:15 UTC

## Japan
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch

## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

→曜日や時間帯でミラーが見つからなかったり、 調子が良いときは、3つのミラーが見つかります:

2022-12/21 11:05

## Japan
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch

## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch

## Japan
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch

→「Save to /etc/pacman.d/mirrorlist」をクリック

→パスワード入力

保存されました。

-


4). 2番めのオレンジ色の「ミラーの更新 (EndeavourOS)」(Update Mirrors) をクリック

「端末」のワークスペース1 に移動して、「端末」が起動され、ミラーの検索の画面が表示されました:

-

(1). 端末で、最速のミラーを検索する画面が表示:
==> Info: extracting /var/cache/pacman/pkg/endeavouros-mirrorlist-4.11-1-any.pkg.tar.zst ...
==> Info: ranking EndeavourOS mirrors, please wait ...

→しばらく待ちます:

==> Results of ranking EndeavourOS mirrors:

######################################################
####                                              ####
###        EndeavourOS Repository Mirrorlist       ###
####                                              ####
######################################################
#### Entry in file /etc/pacman.conf:
###     [endeavouros]
###     SigLevel = PackageRequired
###     Include = /etc/pacman.d/endeavouros-mirrorlist
######################################################
### Tip: Use the 'eos-rankmirrors' program to rank
###      these mirrors or re-order them manually.
######################################################

## Canada
#Server = https://ca.gate.endeavouros.com/endeavouros/repo/$repo/$arch

## China
#Server = https://mirrors.tuna.tsinghua.edu.cn/endeavouros/repo/$repo/$arch

## Germany
#Server = https://mirror.alpix.eu/endeavouros/repo/$repo/$arch
#Server = https://de.freedif.org/EndeavourOS/repo/$repo/$arch
#Server = https://mirror.moson.org/endeavouros/repo/$repo/$arch

## France
#Server = https://endeavour.remi.lu/repo/$repo/$arch
#Server = https://mirror.jordanrey.me/endeavouros/repo/$repo/$arch

## Singapore
#Server = https://mirror.jingk.ai/endeavouros/repo/$repo/$arch
#Server = https://mirror.freedif.org/EndeavourOS/repo/$repo/$arch

## South Korea
#Server = https://mirror.funami.tech/endeavouros/repo/$repo/$arch

## Sweden
#Server = https://ftp.acc.umu.se/mirror/endeavouros/repo/$repo/$arch
#Server = https://mirror.linux.pizza/endeavouros/repo/$repo/$arch

## Taiwan
#Server = https://mirror.archlinux.tw/EndeavourOS/repo/$repo/$arch

## Ukraine
#Server = https://fastmirror.pp.ua/endeavouros/repo/$repo/$arch

# Results of mirror ranking at (UTC) 2022年12月21日 23時14分09秒:
# The following fields are shown for each mirror:
#   mirror:          The mirror address
#   update-level:    Ordinal number of the latest update (larger is newer)
#   fetch-time:      Measures the speed of the mirror (smaller is faster)
#
# mirror                                                             update-level  fetch-time
# ~~~~~~                                                             ~~~~~~~~~~~~  ~~~~~~~~~~
# https://mirror.funami.tech/endeavouros/repo/$repo/$arch            1726          0.307443
# https://mirror.jingk.ai/endeavouros/repo/$repo/$arch               1726          0.693011
# https://mirrors.tuna.tsinghua.edu.cn/endeavouros/repo/$repo/$arch  1726          0.928214
# https://mirror.archlinux.tw/EndeavourOS/repo/$repo/$arch           1726          0.964599
# https://mirror.freedif.org/EndeavourOS/repo/$repo/$arch            1726          1.250661
# https://mirror.jordanrey.me/endeavouros/repo/$repo/$arch           1726          1.252005
# https://mirror.alpix.eu/endeavouros/repo/$repo/$arch               1726          1.508844
# https://de.freedif.org/EndeavourOS/repo/$repo/$arch                1726          1.516611
# https://ftp.acc.umu.se/mirror/endeavouros/repo/$repo/$arch         1726          1.594275
# https://mirror.moson.org/endeavouros/repo/$repo/$arch              1726          1.733175
# https://fastmirror.pp.ua/endeavouros/repo/$repo/$arch              1726          1.739566
# https://ca.gate.endeavouros.com/endeavouros/repo/$repo/$arch       1726          1.789197
# https://mirror.linux.pizza/endeavouros/repo/$repo/$arch            1726          2.222804
# https://endeavour.remi.lu/repo/$repo/$arch                         1726          2.695362

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EndeavourOS mirrorlist:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Server = https://mirror.funami.tech/endeavouros/repo/$repo/$arch
Server = https://mirror.jingk.ai/endeavouros/repo/$repo/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/endeavouros/repo/$repo/$arch
Server = https://mirror.archlinux.tw/EndeavourOS/repo/$repo/$arch
Server = https://mirror.freedif.org/EndeavourOS/repo/$repo/$arch
Server = https://mirror.jordanrey.me/endeavouros/repo/$repo/$arch
Server = https://mirror.alpix.eu/endeavouros/repo/$repo/$arch
Server = https://de.freedif.org/EndeavourOS/repo/$repo/$arch
Server = https://ftp.acc.umu.se/mirror/endeavouros/repo/$repo/$arch
Server = https://mirror.moson.org/endeavouros/repo/$repo/$arch
Server = https://fastmirror.pp.ua/endeavouros/repo/$repo/$arch
Server = https://ca.gate.endeavouros.com/endeavouros/repo/$repo/$arch
Server = https://mirror.linux.pizza/endeavouros/repo/$repo/$arch
Server = https://endeavour.remi.lu/repo/$repo/$arch
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

==> Moving old EndeavourOS mirrorlist to /etc/pacman.d/endeavouros-mirrorlist.2022.12.22-08.14.09.
==> Writing new ranked EndeavourOS mirrorlist to /etc/pacman.d/endeavouros-mirrorlist.
Root パスワード:

→パスワード入力

==> New mirrorlist saved.

ENTER を押してこのウィンドウを閉じます: 

-

(2). 以前のミラーリストは保存されて、新しく置き換えられました。

→Enter で端末画面が閉じました。

-


5). 3番めのオレンジ色の「システムの更新」(Update System) をクリック

「端末」のワークスペース1 に移動して、「端末」が起動され、ミラーの検索の画面が表示されました:

Arch & EndeavourOS 更新の確認:
:: 検索中 Arch & EndeavourOS にて更新...
libiec61883 1.2.0-6 -> 1.2.0-7
libsoxr 0.1.3-2 -> 0.1.3-3
pciutils 3.9.0-1 -> 3.9.0-2
Root パスワード:

→パスワード入力

:: パッケージデータベースの同期中...
 endeavouros は最新です
 core は最新です
 extra は最新です
 community                                                                                       7.2 MiB  4.03 MiB/s 00:02 [--------------------------------------------------------------------------] 100%
 multilib は最新です
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (3)     古いバージョン  新しいバージョン  最終的な変化  ダウンロード容量

extra/libiec61883  1.2.0-6         1.2.0-7               0.00 MiB          0.03 MiB
extra/libsoxr      0.1.3-2         0.1.3-3              -0.12 MiB          0.08 MiB
core/pciutils      3.9.0-1         3.9.0-2               0.00 MiB          0.11 MiB

合計ダウンロード容量:         0.22 MiB
合計インストール容量:         0.62 MiB
最終的なアップグレード容量:  -0.12 MiB

:: インストールを行いますか? [Y/n] 

→Enter

:
:: トランザクション後のフックを実行...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Checking which packages need to be rebuilt

AUR 更新の確認:
:: AUR の更新を確認しています...
:: 開発の更新を確認しています...
 何も行うことがありません

ENTER を押してこのウィンドウを閉じます: 

→Enter で端末画面が閉じました。

-

6). 右下の「今後表示しない」(Don't show me anymore) をクリック:

再度開くときの設定についての画面が表示:

eos-welcome --enable

eos-welcome --once ←(一時的に使いたい時)

→「覚えました」(I remenber) をクリック

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- --

17. 「Welcome」アプリに「個人用コマンド」タブを表示させて活用:

-

通常は「Welcome」アプリに「個人用コマンド」(Personal Commands) タブは表示されません。 そのタブを、メニュー代わりに使えるようにしました。

-

「個人用コマンド」(Personal Commands) タブの詳細については「項番 21 」を参照。

-

1). 「ショートカットキー」の表示に使うファイルを作成:


$ mkdir -p ~/ダウンロード/my-app
$ xed ~/ダウンロード/my-app/i3wm-shortcut-key.md

↓ ファイルの内容をすべて貼り付け:

### 「i3-wm」で使える、ショートカットキー:

#### 見やすいように大文字を使っていますが、実際は「小文字」を使ってください:

- Windows + 1 〜 9, 0  →  「ワークスペース」1 〜 10 を選択(フォーカス: 表示を切替)

 ワークスペース 1: 端末用
 ワークスペース 2: ブラウザ用
 ワークスペース 3: ファイルマネージャ用
 ワークスペース 5: Welcome アプリ用
 :

- Windows + Enter  → 「端末」を起動 (xfce4-terminal)
- Windows + W      → 「ブラウザ」を起動 (firefox)
- Windows + N      → 「ファイルマネージャ」を起動 (thunar)
- Windows + X      → 「Welcome」を起動 (eos-welcome --once)
- Windows + Z      → 「解像度」と「壁紙」のセット
- Windows + Q      →  選択しているアプリのウィンドウを終了

- Windows + D      →  アプリの選択一覧を表示(アプリを絞込み起動)

- Windows + Shift + 1 〜 9, 0  →  選択したアプリのウィンドウを「ワークスペース」1 〜 10 に移動

 →移動したら、「Windows + 1 〜 9, 0」としないとわかりません。

-

- Windows + H      → 選択したアプリの、次に起動するアプリのウィンドウを「横」方向に分割
- Windows + V      → 選択したアプリの、次に起動するアプリのウィンドウを「縦」方向に分割

- Windows +「↑」   → 選択したアプリの、「上」隣のアプリのウィンドウを選択(フォーカス)
- Windows +「↓」   → 選択したアプリの、「下」隣のアプリのウィンドウを選択(フォーカス)
- Windows +「←」   → 選択したアプリの、「左」隣のアプリのウィンドウを選択(フォーカス)
- Windows +「→」   → 選択したアプリの、「右」隣のアプリのウィンドウを選択(フォーカス)

- Windows + Shift +「↑」 → 選択したアプリを、「上」隣のアプリのウィンドウと入替え(移動)
- Windows + Shift +「↓」 → 選択したアプリを、「下」隣のアプリのウィンドウと入替え(移動)
- Windows + Shift +「←」 → 選択したアプリを、「左」隣のアプリのウィンドウと入替え(移動)
- Windows + Shift +「→」 → 選択したアプリを、「右」隣のアプリのウィンドウと入替え(移動)

-

---
#### フローティングのアプリのウィンドウに対する操作:

例: フローティングのアプリ: 「Welcome」

- Windows + マウスでドラッグ  → フローティング ウィンドウを目的の位置に移動

 →タイトルバーを表示している場合は、タイトルバーをマウスでドラッグ

-

---
#### 「リサイズ」モードでの操作:

フローティング ウィンドウでは 4辺の変更ができます。
タイリング ウィンドウでは 最大化していない辺だけ変更ができます。

-

- Windows + R  → 「リサイズ」モード:

選択したフローティングのアプリのウィンドウのサイズを変更します:

-

「リサイズ」モードでの操作:

- 「↑」または L             → 選択したアプリのウィンドウの、「縦」を縮小
- 「↓」または K             → 選択したアプリのウィンドウの、「縦」を拡大
- 「←」または J             → 選択したアプリのウィンドウの、「幅」を縮小
- 「→」または ; セミコロン  → 選択したアプリのウィンドウの、「幅」を拡大

または、マウスでウィンドウの 4隅をドラッグ。有効枠が細いので、右上隅がやりやすいかも。

- Esc  → 「リサイズ」モードを解除(パネル左下の赤色の「resize」表示解除)

-

2). 「Welcome」アプリで壁紙をダウンロードしておきます:

-

(1). Windows + 0 で「ワークスペース10」を選択

「Welcome」アプリが起動されたままのはずです。

-

(2). 「Welcome」アプリが起動されていない場合は、

Windows + D →「We」で絞り込み、Enter →「Welcome」アプリを起動:

-

(3). 「インストール後」タブを選択

-

(4). 「EndeavourOS の壁紙をもっとダウンロード」をクリック
Cloning into 'Community-wallpapers'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (62/62), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 258 (delta 15), reused 44 (delta 6), pack-reused 196
Receiving objects: 100% (258/258), 420.55 MiB | 10.05 MiB/s, done.
Resolving deltas: 100% (60/60), done.
Updating files: 100% (131/131), done.

Running the following commands:
mkdir -p /usr/share/endeavouros/backgrounds
cp -r '/home/ubn/.cache/eos-download-wallpapers.VeBje/Community-wallpapers/eos_wallpapers_classic' /usr/share/endeavouros/backgrounds/
cp -r '/home/ubn/.cache/eos-download-wallpapers.VeBje/Community-wallpapers/eos_wallpapers_community' /usr/share/endeavouros/backgrounds/

Root パスワード:

→パスワード入力

ENTER を押してこのウィンドウを閉じます: 

→ 2つのフォルダが生成され、選択画面が表示されました。

フォルダをダブルクリック→ファイル名をクリックして選択:

-

(5). 「Welcome」アプリを閉じます:

-


3). 「welcome-own-commands.conf」ファイルを作成:

-

(1). ファイルの作成:
$ xed ~/.config/welcome-own-cmds.conf

↓ ファイルの内容をすべて貼り付け:

#!/bin/bash

# Contents of file $HOME/.config/welcome-own-cmds.conf
### Own commands:

local welcome_own_commands=(
    # Legend: --field=" name!icon!description":fbtn "command"

    --field=" (1). paru でシステム更新!system-software-install!「RunInTerminal」定義で端末を使います":fbtn "RunInTerminal 'paru'"

    --field=" (2). 壁紙を反映: デフォルトの宇宙!org.gnome.gThumb!デフォルトの壁紙に変更します":fbtn  "feh --bg-scale '/usr/share/endeavouros/backgrounds/endeavouros-wallpaper.png'"

    --field=" (3). 壁紙を反映: 赤い宇宙!org.gnome.gThumb!別の壁紙に変更します":fbtn  "feh --bg-scale '/usr/share/endeavouros/backgrounds/eos_wallpapers_classic/endeavouros-arm-wallpaper-artemis.png'"

    --field=" (4). 壁紙を反映: 直前にセットした壁紙!org.gnome.gThumb!壁紙セット時に作成されたスクリプトを使います":fbtn  "~/.fehbg"

    --field=" (5). 解像度を変更: 1024x768!qvidcap!解像度をセット後に、直前の壁紙を反映":fbtn  "xrandr --output Virtual-1 --mode 1024x768 && ~/.fehbg"

    --field=" (6). 解像度を変更: 1400x1050!qvidcap!解像度をセット後に、直前の壁紙を反映":fbtn  "xrandr --output Virtual-1 --mode 1400x1050 && ~/.fehbg"

    --field=" (7). 解像度を変更: 1680x1050!qvidcap!解像度をセット後に、直前の壁紙を反映":fbtn  "xrandr --output Virtual-1 --mode 1680x1050 && ~/.fehbg"

    --field=" (8). 解像度を変更: 1920x1080!qvidcap!解像度をセット後に、直前の壁紙を反映":fbtn  "xrandr --output Virtual-1 --mode 1920x1080 && ~/.fehbg"

    --field=" (9). 「i3-wm」で使える、ショートカットキーを表示!system-software-install!端末で、ショートカットキーを表示":fbtn "RunInTerminal 'cat ~/ダウンロード/my-app/i3wm-shortcut-key.md'"

    --field=" (10). featherpad で memo.md を編集!/usr/share/icons/hicolor/scalable/apps/featherpad.svg!featherpad でファイルを編集します":fbtn  "featherpad ~/ドキュメント/memo.md"

    --field=" (11). xed で memo.md を編集!/usr/share/icons/Qogir/scalable/apps/accessories-text-editor.svg!xed  でファイルを編集します":fbtn  "xed ~/ドキュメント/memo.md"

    --field=" (12). 音楽プレーヤーの「Audacious」を起動!/usr/share/icons/hicolor/scalable/apps/audacious.svg!音楽プレーヤーを起動します":fbtn  "audacious &"

    --field=" (13). ファイアウォールの「gufw」の設定!/usr/share/icons/hicolor/scalable/apps/gufw.svg!ファイアウォールを設定します":fbtn  "RunInTerminal 'sudo gufw'"

    --field=" (14). ストレージ管理: 「Disks」を起動!/usr/share/icons/hicolor/scalable/apps/org.gnome.DiskUtility.svg!「Disks」を起動します":fbtn  "gnome-disks"

    --field=" (15). ストレージ管理: 「GParted」を起動!/usr/share/icons/hicolor/scalable/apps/gparted.svg!「GParted」を起動します":fbtn  "RunInTerminal 'sudo /usr/sbin/gparted'"

    --field=" (16). ゲームの一覧!/usr/share/icons/hicolor/scalable/apps/kajongg.svgz!「ゲームの一覧」から選んで起動できます":fbtn  "rofi -modi drun -show drun -config ~/.config/rofi/rofidmenu.rasi -drun-categories Game"

)

local show_predefined_buttons_at_own_commands=no  # Show two buttons=no (default:yes)

#

### Personal Commands drag and drop:

-

(2). アイコンの指定については、下記のアイコンがパスなしで使えます:
$ ls /usr/share/icons/hicolor/scalable/apps/
:
featherpad.svg                       nm-vpn-connecting02-symbolic.svg
feh.svg                              nm-vpn-connecting03-symbolic.svg
firewall-applet-error.svg            nm-vpn-connecting04-symbolic.svg
firewall-applet-panic.svg            nm-vpn-connecting05-symbolic.svg
firewall-applet.svg                  nm-vpn-connecting06-symbolic.svg
firewall-config.svg                  nm-vpn-connecting07-symbolic.svg
galculator.svg                       nm-vpn-connecting08-symbolic.svg
ibus-engine.svg                      nm-vpn-connecting09-symbolic.svg
ibus-keyboard.svg                    nm-vpn-connecting10-symbolic.svg
ibus-setup.svg                       nm-vpn-connecting11-symbolic.svg
ibus.svg                             nm-vpn-connecting12-symbolic.svg
mpv.svg                              nm-vpn-connecting13-symbolic.svg
nm-device-wired-secure-symbolic.svg  nm-vpn-connecting14-symbolic.svg
nm-device-wired-symbolic.svg         nm-vpn-standalone-lock-symbolic.svg
nm-device-wired.svg                  org.gnome.FileRoller.Devel.svg
nm-device-wwan-symbolic.svg          org.gnome.FileRoller.svg
nm-no-connection-symbolic.svg        org.gnome.Meld.svg
nm-no-connection.svg                 org.gnome.gThumb.svg
nm-signal-00-secure-symbolic.svg     org.xfce.about.svg
nm-signal-00-symbolic.svg            org.xfce.terminal-settings.svg
nm-signal-100-secure-symbolic.svg    org.xfce.terminal.svg
nm-signal-100-symbolic.svg           org.xfce.thunar.svg
nm-signal-25-secure-symbolic.svg     org.xfce.volman.svg
nm-signal-25-symbolic.svg            qv4l2.svg
nm-signal-50-secure-symbolic.svg     qvidcap.svg
nm-signal-50-symbolic.svg            xapp-favorites-app-symbolic.svg
nm-signal-75-secure-symbolic.svg     xapp-favorites-app.svg
nm-signal-75-symbolic.svg            xapp-mate-status-applet.svg
nm-vpn-active-lock-symbolic.svg      xfce4-logo.svg
nm-vpn-connecting01-symbolic.svg

→ファイルマネージャで上記のパスを確認すれば、アイコンが確認できます:

-

アプリ専用のアイコンを持つアプリは、絶対アドレスで指定しておくと確実です。

-


4). 「Welcome」アプリで最初に開くタブに変更:

-

(1). 「Welcome」アプリを起動:

→「インストール後」タブが表示

-

(2). 右下の「Welcom で最初に開くタブを選択」をクリック

→タブを選択するダイアログ画面が表示

→順番で指定するので、「6」に設定

→「OK」

-

(3). 「Welcome」アプリが閉じて、開きました:

→「個人用コマンド」タブが表示されました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ---

18. アプリのインストール:

-

個人的によく使っているアプリを、インストールしました。 インストールは任意です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----

18-1. ESR 版の「Firefox」をインストール

-

Firefox」の通常版がプリインストールされています。

ESR 版にすることで、もっと起動を速くできます。更新回数も減ります。

-

ブックマークの登録のやり直しになるので、事前にブックマークを控えておくと良いです。

-

1). プリインストールされている「Firefox」を確認:

$ paru -Ss firefox | grep インストール済み
:
extra/firefox 107.0.1-1 [0B 237.42MiB] [インストール済み]
extra/firefox-i18n-ja 107.0.1-1 [0B 589.64KiB] [インストール済み]

-

2). ESR 版の「Firefox」をインストール:

-

(1). 「EndeavourOS」にて、ブラウザを起動:

-

(2). 「こちらの投稿」 のリンクを表示:

-

(3). 表示された投稿の「 項番 1). 〜 7). 」の手順を実行:

2022-12-15 現在:

ダウンロードされるファイル名は変わっているので注意:

~/ダウンロード/firefox-102.6.0esr.tar.bz2

-

(4). 再起動して ESR 版を認識させます:
$ reboot

-

3). 「Firefox」を起動:

Windows + W

-

→起動が速くなりました

-

4). 「パネル」のランチャーアイコンでも起動できることを確認:

パネルのアイコンをクリック →ブラウザが起動

→ヘルプ で、「ESR」の正式名称の「Extended Support Release」が含まれていることを確認:

-

5). 参考: プリインストールされていた「Firefox」を削除する場合:

ESR 版の「Firefox」を使うなら、既存の「Firefox」は削除できます。 そのままだと、更新の対象なので、更新のムダです。

-

(1). インストールの確認:
$ firefox --version
Mozilla Firefox 102.6.0esr
$ paru -Ss firefox | grep 済
:
extra/firefox 107.0.1-1 [0B 237.42MiB] [インストール済み]

-

(2). 削除:
$ paru -R firefox
:
firefox         107.0.1-1        -237.42 MiB
:: 以上のパッケージを削除しますか? [Y/n] 

-

(3). 削除されたか確認:
$ paru -Ss firefox | grep 済
$
$ which firefox
/usr/local/bin/firefox

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- -----

18-2. ファイアウォールのインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Personal Security)

「firewalld」がプリインストール済みです。

-

「gufw」も一覧にあるので、インストールする場合は、「firewalld」の削除が必要です。

-

1). ファイアウォールがインストールされているかの確認:

$ pacman -Ss firewall
:
community/firewalld 1.2.2-1 [インストール済み]
    Firewall daemon with D-Bus interface

community/gufw 22.04-1
    Uncomplicated way to manage your Linux firewall

community/ufw 0.36.1-1
    Uncomplicated and easy to use CLI tool for managing a netfilter firewall

-

$ paru -Ss firewall | grep 済
:
community/firewalld 1.2.2-1 [インストール済み]

ファイアウォール「firewalld」がインストール済みでした

Fedora 等で使われているファイアウォールです。

-

2). 「firewalld」の設定は難しいので、設定の楽な「gufw」に変更しました。

-


3). 「firewalld」の削除:

-

$ paru -R firewalld
:
firewalld       1.2.2-1           -18.87 MiB

:: 以上のパッケージを削除しますか? [Y/n] 

→Enter

-

4). 「gufw」のインストール:

$ paru -S gufw
:
パッケージ (2)  新しいバージョン  最終的な変化
community/ufw   0.36.1-1              0.78 MiB          0.18 MiB
community/gufw  22.04-1               3.23 MiB          0.97 MiB

-

5). 確認:

$ paru -Ss ufw | grep 済
:
community/gufw 22.04-1 [0B 3.23MiB] [インストール済み]
community/ufw 0.36.1-1 [0B 794.68KiB] [インストール済み]

-

6). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「fire」と入力して絞り込み

→「ファイアウォール設定ツール」を選んで、Enter

→正常に起動しました。

-

7). ファイアウォールの設定:

「Status:」ボタンをクリックして、オン

→カラフルな盾になったら OK

-

Windows + Q で終了

-

全画面で、フォーマットがくずれて見づらいと感じたら、

Windows + Enter で、ダミーの「端末」を起動 →「ワークスペース1」が表示:

Windows + Shift + 6 で 、ダミーの「端末」を「ワークスペース6」に移動:

Windows + 6 で 、「ワークスペース6」を表示:

ウィンドウの幅が半分に制限されて、見やすいと思います:

-

左右のウィンドウを入替えたいときは:

Windows + Shift + 「←」もしくは、「→」

-

端末から起動する場合:
$ sudo gufw

→「ファイアウォール」画面

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- -

18-3. 「disks」のインストール:

-

  • ストレージの管理、特にUSB メモリの管理に便利です。

-

1). インストール:

$ paru -S gnome-disk-utility
:
パッケージ (3)            新しいバージョン  最終的な変化  ダウンロード容量
core/cracklib             2.9.8-1               0.89 MiB          0.26 MiB
extra/libpwquality        1.4.5-1               0.41 MiB          0.09 MiB
extra/gnome-disk-utility  43.0-1                6.36 MiB          1.03 MiB

-

2). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「disk」と入力して絞り込み

→「ディスク」表示で Enter

-

→正常に起動しました。

-

Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- --

18-4. 「gparted」のインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Misc System Tools)

-

-

1). インストール:

$ paru -S gparted
:
パッケージ (1)  新しいバージョン  最終的な変化  ダウンロード容量
extra/gparted   1.4.0-1               7.18 MiB          1.68 MiB

-

2). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「gp」と入力して絞り込み

→「GParted」表示で Enter

→パスワード入力

-

→正常に起動しました。

-

Windows + Q で終了

-

端末から起動する場合:

$ sudo gparted

→実行されました。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ---

18-5. 「audacious」のインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Audio Players)

-

音楽プレーヤー

-

1). インストール:

$ paru -S audacious
:
パッケージ (17) audacious-plugins-4.2-3  freeglut-3.4.0-1
                glu-9.0.2-3  jasper-4.0.0-1
                libcddb-1.3.2-7  libcue-2.2.1-2
                libftdi-1.5-4  libmms-0.6.4-3
                libmng-2.0.3-3  libsidplayfp-2.4.1-1
                libusb-compat-0.1.8-1  lirc-1:0.10.2-2
                qt5-imageformats-5.15.7+kde+r6-2
                qt5-svg-5.15.7+kde+r9-1
                qt5-x11extras-5.15.7-1  wavpack-5.6.0-1
                audacious-4.2-3

-

2). バージョンの確認:

$ audacious --version
Audacious 4.2 (Arch Linux)

-

3). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「aud」と入力して絞り込み

→「Audacious」表示で Enter

→正常に起動しました。

-

音楽ファイルがないので、ホストOS にて作業:

-

4). 「音楽フォルダ」は、フォルダごと圧縮:

-

(1). 聞きたい音楽ファイルを、ひとつのフォルダにまとめておきます
$ cd ~/ダウンロード/test/
$ tree Superfly_BEST
:
Superfly_BEST
├── 1-01 Bi-Li-Li Emotion.mp3
├── AlbumArtSmall.jpg
└── Folder.jpg

0 directories, 3 files

-

(2). 「.tar.gz」に圧縮:
$ cd ~/ダウンロード/test/
$ tar czvf Superfly_BEST.tar.gz Superfly_BEST

-

(3). 圧縮した結果:
$ ls -1 ~/ダウンロード/test/
:
Superfly_BEST
Superfly_BEST.tar.gz

-

5). ホストOS でファイルマネージャを開きます:

-

6). 「Superfly_BEST.tar.gz」ファイルを、ゲストOS のデスクトップにドラッグ&コピー:

-

7). Windows + N にて、ファイルマネージャを開きます:

「~/ダウンロード/」にある「Superfly_BEST.tar.gz」を右クリック →「ここに展開」

Windows + Enter →「端末」を起動:

$ mv ~/ダウンロード/Superfly_BEST ~/音楽/

$ cd ~/音楽/
$ ls
Superfly_BEST

-

8). 確認:

$ ls -1 Superfly_BEST
:
'1-01 Bi-Li-Li Emotion.mp3'
AlbumArtSmall.jpg
Folder.jpg

-

9). 「tree」のインストール:

$ paru -S tree
:
パッケージ (1) tree-2.1.0-1

-

10). 確認:

$ tree
.
└── Superfly_BEST
    ├── 1-01 Bi-Li-Li Emotion.mp3
    ├── AlbumArtSmall.jpg
    └── Folder.jpg

2 directories, 3 files

-

11).「Audacious」の画面に移動。「音楽」フォルダを開きます:

Windows + 6 →「Audacious」の画面

-

ファイル →「フォルダを開く」→「音楽」→「開く」

→音楽ファイルが再生されました。

-

12). フローティングに指定した方が使いやすいので、フローティングのアプリに設定:

-

(1). 設定:
$ xed ~/.config/i3/config

-

(2). 「floating」で検索:

ヒット、438 行目:

##################
# floating rules #
##################

# set floating (nontiling) for apps needing it
for_window [class="Yad" instance="yad"] floating enable
for_window [class="Galculator" instance="galculator"] floating enable
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable

# set floating (nontiling) for special apps
for_window [class="Xsane" instance="xsane"] floating enable
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
for_window [class="qt5ct" instance="qt5ct"] floating enable
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [window_role="About"] floating enable

-

(3). 項目の後ろの、455 行目に追記:
for_window [class="Audacious"] floating enable

-

13). 再起動:

$ reboot

-

14). ウィンドウのサイズを調整:

フローティングの設定にしただけでは、見た目は最大化されたままで変わりません。

-

(1). Windows + R で「リサイズ」モードにしました

-

(2). 「←」と「↑」でウィンドウサイズを小さくしました:

-

(3). Esc で「リサイズ」モードを解除:

-

15). Windows + Q で終了

-

16). 「Audacious」起動

Windows + D →「アプリ一覧」表示 →「aud」と入力して絞り込み

→「Audacious」表示で Enter

-

リサイズしたウィンドウの大きさで開きました:

→サイズは保持されるようです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----

18-6. 「kolourpaint」のインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Image Processing & Editing)

-

画像加工ソフト

-

1). インストール:

$ paru -S kolourpaint
:
パッケージ (45) cdparanoia-10.2-8  graphene-1.10.8-1
                gst-plugins-base-1.20.5-1
                karchive-5.101.0-1  kauth-5.101.0-1
                kbookmarks-5.101.0-1  kcodecs-5.101.0-1
                kcompletion-5.101.0-1  kconfig-5.101.0-1
                kconfigwidgets-5.101.0-1
                kcoreaddons-5.101.0-1  kcrash-5.101.0-1
                kdbusaddons-5.101.0-1  kded-5.101.0-1
                kglobalaccel-5.101.0-1
                kguiaddons-5.101.0-1  ki18n-5.101.0-1
                kiconthemes-5.101.0-1  kio-5.101.0-1
                kitemviews-5.101.0-1
                kjobwidgets-5.101.0-1
                knotifications-5.101.0-1
                ksanecore-22.12.0-1  kservice-5.101.0-1
                ktextwidgets-5.101.0-1  kwallet-5.101.0-1
                kwidgetsaddons-5.101.0-1
                kwindowsystem-5.101.0-1
                kxmlgui-5.101.0-1
                libdbusmenu-qt5-0.9.3+16.04.20160218-6
                libieee1284-0.2.11-14  libksane-22.12.0-1
                libvisual-0.4.0-8  media-player-info-24-2
                net-snmp-5.9.1-5  polkit-qt5-0.114.0-1
                qca-qt5-2.3.5-2
                qt5-declarative-5.15.7+kde+r25-1
                qt5-multimedia-5.15.7+kde+r1-1
                qt5-speech-5.15.7+kde+r1-1
                qt5-wayland-5.15.7+kde+r58-1
                sane-1.1.1-1  solid-5.101.0-1
                sonnet-5.101.0-1  kolourpaint-22.12.0-1

→依存のパッケージが多いのが難点。

-

2). バージョンの確認:

$ kolourpaint --version
kolourpaint 22.12.0

-

3). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「ko」と入力して絞り込み

→「KolourPaint」表示で Enter

-

もしくは、Windows + N →ファイルマネージャの「ワークスペース3」を表示:

画像ファイルを選んで右クリック→「アプリケーションで開く」→「KolourPaint」

-

「KolourPaint」のウィンドウを選んで、Windows + shift + 6 で「ワークスペース6」に移動:

Windows + 6 で「ワークスペース6」を表示:

→正常に開きました。使う時は、右クリックで画像を開く方が多いです。

-

4). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- -----

18-7. テキストエディタ「Featherpad」のインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Text Editors)

-

featherpad は、Markdown のハイライトが見やすいです。 背景を黒(ダーク系)に設定すると空白(半角スペース)やTab が見やすいです。

-

1). インストール:

$ paru -S featherpad
:
パッケージ (1) featherpad-1.3.4-1

→今回は言語パッケージが分かれていません。

-

2). バージョンの確認:

$ featherpad --version
FeatherPad 1.3.4

-

3). 起動:

端末にて、

$ featherpad

もしくは、

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「f」と入力して絞り込み

→「FeatherPad」表示で Enter

-

起動された画面:

→日本語化されています

-


4). 設定:

オプション →設定

設定するときは、項目にマウスを置くとコメントが表示されます。

-

(1). 挿入する日付の書式:

「テキスト」タブ:

yyyy-MM-dd hh:mm

-

編集 →「日付と時刻を貼り付け」

2022-12-10 22:42

-

(2). 開いていたファイルを起動時に開く設定にしました:

オプション →設定 →「ファイル」タブ

「最後のウィンドウのファイルを開いて起動する」にチェック

-

5). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- -

18-8. PDF ビュワー「qpdfview」のインストール:

-

GUI の「Welcome」の一覧にありました。(カテゴリ: PDF Viewers)

ただし、AUR リポジトリに登録されているからか、インストールできませんでした。

-

参考: 「自炊本」について:

「自炊本」は、自力で本を裁断(勇気が必要)して、リーダーで読み込み、PDF 等に落としたファイルのことです。

-

「qpdfview」はすべての製本の形式(右とじ、左とじ、表紙有り、表紙なし)に対応しています。
すべての製本の形式が使えるアプリは少ないです。日本語化にこだわるのは、閲覧の形式を指定しやすくするためです。

-

1). インストールできるかの確認:

$ paru -Ss qpdfview
:
aur/qpdfview 0.4.18-2 [+26 ~3.33]
    A tabbed PDF viewer using the poppler library.
aur/qpdfview-bzr 2070-1 [+8 ~0.12]
    A tabbed PDF viewer using the poppler library. 
    (development version)

→AUR にしかありません。

-

ちなみに、「-bzr」とあるのは「-git」みたいなものです。
qpdfview は Launchpad でメンテされ、 Launchpad は「Bazaar」を使ってバージョン管理しています。

-

2). インストール:

$ paru -S qpdfview
:
リポジトリ (2) libsynctex-2022.62885-3  
    poppler-qt5-22.12.0-1
リポジトリ ビルド (9) qt5-tools-5.15.7+kde+r1-2  
    jbig2dec-0.19-1  libpaper-1.1.28-2  ijs-0.35-5  
    libidn-1.41-1  poppler-data-0.4.11-3  
    ghostscript-10.0.0-2  libspectre-0.2.11-1  
    djvulibre-3.5.28-3
Aur (1) qpdfview-0.4.18-2

:: レビューを続行しますか? [Y/n]: 

→Enter

ビューの終了は「q」

:: インストールを行いますか? [Y/n] 

:

:: 鍵をインポートする必要があります:

:: import? [Y/n]: 

→Enter

gpg:             インポート: 1
[sudo] パスワード:

→パスワード入力

:
:: インストールを行いますか? [Y/n] 

→Enter

[sudo] パスワード:

→パスワード入力

パッケージ (11) djvulibre-3.5.28-3  ghostscript-10.0.0-2
                ijs-0.35-5  jbig2dec-0.19-1
                libidn-1.41-1  libpaper-1.1.28-2
                libspectre-0.2.11-1
                libsynctex-2022.62885-3
                poppler-data-0.4.11-3
                poppler-qt5-22.12.0-1
                qt5-tools-5.15.7+kde+r1-2

-

3). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「pdf」と入力して絞り込み

→「pdfview」表示で Enter

-

→メニューもヘルプも英語のままです。

-

-


4). 日本語化のための「翻訳ファイル」と「ヘルプファイル」を準備:

以前の投稿(H157)で、そのとき作成したファイルを使いました:

作成手順は、以下を参照:

「qpdfview」のヘルプの日本語化、および、翻訳ファイルを iT では一般的な言い回しに変更:

-

5). ホストOS でファイルマネージャを起動:

-

ホストOS の下記のファイルを、ゲストOS のデスクトップにドラッグ&ドロップ:
  • ~/ダウンロード/qpdfview-0.4.18/translations/qpdfview_ja.qm

  • ~/ダウンロード/qpdfview-0.4.18/help/help_ja.html

-

6). ファイルを配置:

$ sudo cp ~/ダウンロード/qpdfview_ja.qm /usr/share/qpdfview/
$ sudo cp ~/ダウンロード/help_ja.html /usr/share/qpdfview/

-

7). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「pdf」と入力して絞り込み

→「pdfview」表示で Enter

-

→ヘルプも日本語化されました。メニューの「しおり」も「ブックマーク」になりました。

-

「ヘルプ」の窓が小さいので、広げてみました:

「バージョン表示」の窓を閉じます。

「ヘルプ」の窓をクリック

Windows + R →パネルの左側に赤色で「resize」表示:

矢印キーでウィンドウのサイズを広げられます。

Esc で終了。

-

8). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- --

18-9. 「Libre Office」のインストール:

-

GUI の「Welcome」を使ってもインストールできます。(カテゴリ: Office)

最新版の「libreoffice-fresh」と、安定版の「libreoffice-still」があります。

-

1). インストールできるかの確認:

-

最新版:
$ pacman -Ss libreoffice-fresh
:
extra/libreoffice-fresh 7.4.3-1
    LibreOffice branch which contains new features and program enhancements

extra/libreoffice-fresh-ja 7.4.3-1
    Japanese language pack for LibreOffice Fresh

-

安定版
$ pacman -Ss libreoffice-still
:
extra/libreoffice-still 7.3.7-1
    LibreOffice maintenance branch

extra/libreoffice-still-ja 7.3.7-1
    Japanese language pack for LibreOffice still

-

2). 安定版をインストール:

インストール:

$ paru -S libreoffice-still-ja
:
パッケージ (33) boost-libs-1.80.0-3  box2d-2.4.1-1
                clucene-2.3.3.4-12  libabw-0.1.3-3
                libatomic_ops-7.6.14-1  libcdr-0.1.7-5
                libe-book-0.1.3-13  libepubgen-0.1.1-4
                libetonyek-0.1.10-2
                libexttextcat-3.4.6-1
                libfreehand-0.1.2-4  libixion-0.17.0-3
                liblangtag-0.6.4-1  libmspub-0.1.4-13
                libmwaw-0.3.21-3  libnumbertext-1.0.11-1
                libodfgen-0.1.8-2  liborcus-0.17.2-3
                libpagemaker-0.0.4-3  libqxp-0.0.2-9
                libreoffice-still-7.3.7-2
                librevenge-0.0.4-5  libstaroffice-0.0.7-2
                libtommath-1.2.0-3  libvisio-0.1.7-8
                libwpd-0.10.3-4  libwpg-0.3.3-4
                libwps-0.4.13-1  libzmf-0.0.2-13
                lpsolve-5.5.2.11-2  rasqal-1:0.9.33-5
                redland-1:1.0.17-8
                libreoffice-still-ja-7.3.7-1

-

$ pacman -Ss libreoffice | grep 済
:
extra/libcdr 0.1.7-5 [インストール済み]
extra/libreoffice-still 7.3.7-2 [インストール済み]
extra/libreoffice-still-ja 7.3.7-1 [インストール済み]

-

3). バージョンの確認:

$ libreoffice --version
LibreOffice 7.3.7.2 30(Build:2)

-

4). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「lib」と入力して絞り込み

→「LibreOffice」表示で Enter

-

5). 実行時の画面:

→日本語化されています。

-

6). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ---

19. ゲームのインストール:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----

19-1. 「swell-foop 」をインストール:

-

(さめざめ もどき)

-

1). インストールできるかの確認:

$ paru -Ss swell-foop
:
extra/swell-foop 41.1-1 [284.52KiB 1.02MiB] (gnome-extra)
    Clear the screen by removing groups of colored and shaped tiles

→公式リポジトリにありました。

-

2). インストール:

$ paru -S swell-foop
:
パッケージ (3) libgee-0.20.6-1
               libgnome-games-support-1.8.2-2
               swell-foop-41.1-1

-

3). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「swell-foop」を選んで、Enter

-

4). 実行時の画面:

-

大きすぎるので調整: ダミーのアプリ(xterm)で、ウィンドウ幅を制限:

-

(1). 「xtern」の背景は白色なので、黒色に反転:
$ xed ~/.Xresources

↓ ファイルの最後に下記の行を追記:

XTerm*reverseVideo: on

-

(2). 変更されたか確認:
$ cat ~/.Xresources
:
Xcursor.theme: Qogir
Xcursor.size: 16
XTerm*reverseVideo: on

-

(3). 再起動:
$ reboot

-

(4). 「swell-foop」を起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「swell-foop」を選んで、Enter

-

(5). 「xtern」を起動:

Windows + D →「アプリ一覧」表示 →「xtern」と入力して絞り込み

→「XTerm」を選んで、Enter

-

(6). 起動された「xtern」にて、下記を入力して「xtern」をもうひとつ起動:
$ xterm

-

→「xterm」の数でアプリのサイズを調整できます。

-

大きすぎるので調整: コマ数を増やしました:

ウィンドウタイトルバーの右にある「横3点」ボタンをクリック →「事前設定」

→「大きい(20x15)」にチェック

→「新しいゲーム」

-

-

5). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- -----

19-2. 「マインスイーパ」のインストール:

-

昔ながらのマインスイーパ (Minesweeper) ゲーム

GNOME マインスイーパー」よりも見やすいので、こちらをよく使っています。

-

1). インストール:

$ paru -S kmines
:
パッケージ (8) attica-5.101.0-1  kdeclarative-5.101.0-1
               kdnssd-5.101.0-1  knewstuff-5.101.0-1
               kpackage-5.101.0-1  libkdegames-22.12.0-1
               syndication-5.101.0-1  kmines-22.12.0-1

-

2). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「KMines」を選んで、Enter

-

3). 実行時の画面:

-

4). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- -

19-3. 「ソリティア」のインストール:

-

カードゲーム集(クロンダイク

-

1). インストール

$ paru -S aisleriot
:
パッケージ (1) aisleriot-3.22.27-1

-

2). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」、または「card」と入力して絞り込み

→「AisleRiot ソリティア」を選んで、Enter

-

3). 実行時の画面:

-

4). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- --

19-4. 「四川省」 (Shisen-Sho) のインストール:

-

2コーナーまでに結ばれた同じパイを取っていくゲーム

パイが無くなると重力で落ちます。取る順番が重要なので、 全体を見渡す力と、集中力を養えます。すべて消せたのは、2回くらい。

-

1). インストール:

$ paru -S kshisen
:
パッケージ (2) libkmahjongg-22.12.0-1  kshisen-22.12.0-1

-

2). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「Shisen-Sho」を選んで、Enter

-

3). 実行時の画面:

-

4). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ---

19-5. 「上海」 (KMahjongg) のインストール:

-

立体的に置かれたパイから同じパイを取っていくゲーム

-

1). インストールできるかの確認:

$ paru -Ss kmahjongg
:
extra/kmahjongg 22.08.3-1 [4.04MiB 5.36MiB] (kde-applications kde-games)
    A tile matching game for one or two players
extra/libkmahjongg 22.08.3-1 [0B 2.20MiB] [インストール済み]
    Common code, backgrounds and tile sets for games using Mahjongg tiles

→公式リポジトリにありました。ライブラリは他と共通で、すでにインストール済みです。

-

2). インストール:

$ paru -S kmahjongg
:
パッケージ (1) kmahjongg-22.12.0-1

-

3). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「KMahjongg」を選んで、Enter

-

4). 実行時の画面:

-

5). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----

19-6. 「中国式四人麻雀」 (Kajongg) のインストール:

-

ルールは中国式の麻雀。花パイあり。 8点しばりで、リーチがないので、門前ツモでもあがれず、役を知らないと難しいです。

でも、英語の音声付きなので、眺めているだけでも楽しいです。

-

1). 依存する、python のバージョンを確認:

$ python
:
Python 3.10.9 (main, Dec 19 2022, 17:35:49) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

Ctrl+D または、「exit()」で終了

→「Python 3.10.9」が使われています。

-

2). インストールできるかの確認:

$ paru -Ss kajongg
:
extra/kajongg 22.12.0-1 [4.82MiB 9.41MiB] (kde-applications kde-games)
    The ancient Chinese board game for 4 players

→公式リポジトリにありました。2つのグループに含まれています。

-

3). 「kajongg」をインストール:

$ paru -S kajongg
:
パッケージ (27) cython-0.29.32-2  python-appdirs-1.4.4-7
                python-attrs-22.2.0-1
                python-autocommand-2.2.2-1
                python-automat-22.10.0-1
                python-click-8.1.3-1
                python-constantly-15.1.0-11
                python-hyperlink-21.0.0-4
                python-idna-3.4-1
                python-incremental-22.10.0-1
                python-inflect-6.0.2-1
                python-jaraco.context-4.2.0-1
                python-jaraco.functools-3.5.2-1
                python-jaraco.text-3.11.0-1
                python-more-itertools-9.0.0-1
                python-ordered-set-4.1.0-1
                python-pydantic-1.10.2-1
                python-qtpy-2.3.0-1
                python-setuptools-1:65.6.3-1
                python-six-1.16.0-6  python-tomli-2.0.1-1
                python-trove-classifiers-2022.12.22-1
                python-twisted-22.10.0-1
                python-typing_extensions-4.4.0-1
                python-validate-pyproject-0.10.1-1
                python-zope-interface-5.5.0-1
                kajongg-22.12.0-1
:
kajongg の提案パッケージ
    vorbis-tools: for playing sounds

-

4). 依存の「vorbis-tools」がインストールできるかの確認:

$ paru -Ss vorbis-tools
:
extra/vorbis-tools 1.4.2-3 [181.97KiB 717.68KiB]
    Extra tools for Ogg-Vorbis
aur/vorbis-tools-git r936.134b784-2 [+1 ~0.08]
    Command-line tools for creating and playing Ogg Vorbis files

→公式リポジトリにありました。

音声を出すために必要です。

-

5). 依存の「vorbis-tools」のインストール:

$ paru -S vorbis-tools
:
パッケージ (3) libao-1.2.2-5  opusfile-0.12-3
               vorbis-tools-1.4.2-3

-

6). アプリの起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「kajongg」を選んで、Enter

-

4). 実行時の画面:

-

→プレイヤーを登録後、「Play」で開始すると、音声が出ました。

-

音声がいつもの「英語」ではありません。

ヘルプにある言語切替えは、メニュー表示が変わるだけでした。音声の言語の切替えの設定は見つかりません。

音声データがおかしいのかな?

-

8). 操作のしかたは、「こちら 」を参照:

-

9). 「英語」の音声ではないので、音声について調べてみました:

-

(1). 音声ファイルを検索:
$ sudo find / -name *ogg

-

(2). 「kajongg」の音声ファイルを確認:
$ cd /usr/share/kajongg/voices/
$ ls -1 /usr/share/kajongg/voices/
de
female1 ←(女性1)
female2 ←(女性2)
male1 ←(男性1)
male2 ←(男性2)

→言語フォルダがひとつだけあるのは変ですね。 テスト用を消し忘れたのかな。

-

$ ls /usr/share/kajongg/voices/female1
:
COPYRIGHT  c6.ogg             s1.ogg
b1.ogg     c7.ogg             s2.ogg
b2.ogg     c8.ogg             s3.ogg
b3.ogg     c9.ogg             s4.ogg
b4.ogg     chow.ogg           s5.ogg
b5.ogg     dangerousgame.ogg  s6.ogg
b6.ogg     db.ogg             s7.ogg
b7.ogg     dg.ogg             s8.ogg
b8.ogg     dr.ogg             s9.ogg
b9.ogg     kong.ogg           violatesoriginalcall.ogg
c1.ogg     mahjongg.ogg       we.ogg
c2.ogg     md5sum             wn.ogg
c3.ogg     nochoice.ogg       ws.ogg
c4.ogg     originalcall.ogg   ww.ogg
c5.ogg     pung.ogg

→こちらの音声データは「英語」です。チェックサムまであります。

-

$ ls -1 /usr/share/kajongg/voices/de/
female1
female2
male1
male2

→こちらの音声データは「ドイツ語」でした。(言語コード: de =ドイツ語)

-

(3). 「de」フォルダの名前を言語コード以外に変更

→音声は切り替わりませんでた。

-

(4).「de」フォルダを削除:
$ cd /usr/share/kajongg/voices/
$ sudo rm -r de
$ ls
female1  female2  male1  male2

-

10). 再起動:

$ reboot

-

11). アプリを起動して確認:

→音声が英語になりました。

-

使いたい言語のフォルダ( 4人分の音声.ogg)を準備すれば、その言語でしゃべってくれるみたい。

実際のプレイでは、いちいち「パイ名」を言うことはないので、「ホィ」とか「無音…」などの方が自然かも。

-

12). Windows + Q で終了

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- -----

19-7. 「フローズン・バブル」 (Frozen Bubble) のインストール:

-

カラーボールを撃ち落とすゲームです。角度を決めて発射して、同じ色が 3個以上くっつくと落っこちます。すべて落とせばクリア。

-

依存パッケージの不具合でビルド中に止まるので、先に依存パッケージをインストールしてから、インストールしました。

-

1). インストールできるか確認:

$ paru -Ss frozen-bubble
:
aur/frozen-bubble 2.2.1beta1-17 [+5 ~0.45]
    A game in which you throw colorful bubbles and build groups to destroy the bubbles

→AUR リポジトリにあります。

-

2). 「frozen-bubble」の依存パッケージのインストール1:

$ paru -S perl-alien-sdl
:
リポジトリ (10)                 古いバージョン  新しいバージョン  Makeのみ
community/perl-archive-extract                  0.88-3            はい
community/sdl12-compat                          1.2.60-1          いいえ
extra/perl-archive-zip                          1.68-7            はい
extra/perl-capture-tiny                         0.48-6            いいえ
extra/perl-class-inspector                      1.36-5            いいえ
extra/perl-file-sharedir                        1.118-2           いいえ
extra/perl-file-which                           1.27-2            はい
extra/perl-inc-latest                           0.500-9           はい
extra/perl-module-build                         0.4232-1          はい
extra/perl-text-patch                           1.8-11            はい

Aur (1)                         古いバージョン  新しいバージョン  Makeのみ
aur/perl-alien-sdl                              1.446-13          いいえ

:: レビューを続行しますか? [Y/n]: 

→Enter

「q」でレビューは終了

-

:: インストールを行いますか? [Y/n]: 

→Enter

パッケージ (10)                 新しいバージョン  最終的な変化  ダウンロード容量

community/perl-archive-extract  0.88-3                0.06 MiB          0.02 MiB
extra/perl-archive-zip          1.68-7                0.22 MiB          0.07 MiB
extra/perl-capture-tiny         0.48-6                0.03 MiB          0.02 MiB
extra/perl-class-inspector      1.36-5                0.03 MiB          0.01 MiB
extra/perl-file-sharedir        1.118-2               0.02 MiB          0.01 MiB
extra/perl-file-which           1.27-2                0.02 MiB          0.01 MiB
extra/perl-inc-latest           0.500-9               0.02 MiB          0.01 MiB
extra/perl-module-build         0.4232-1              0.37 MiB          0.17 MiB
extra/perl-text-patch           1.8-11                0.01 MiB          0.01 MiB
community/sdl12-compat          1.2.60-1              0.63 MiB          0.12 MiB

-

確認:

$ paru -Ss perl-alien-sdl
:
aur/perl-alien-sdl 1.446-13 [+2 ~0.07] [インストール済み]
    Build, find and use SDL binaries (package is specific to 
    architecture and SDL package used at build-time)

-

3). 依存パッケージのインストール2:

$ paru -S sdl_pango
:
Aur (1)         古いバージョン  新しいバージョン  Makeのみ
aur/sdl_pango                   0.1.2-9           いいえ

-

確認:

$ paru -Ss sdl_pango
:
aur/sdl_pango 0.1.2-9 [+4 ~0.23] [インストール済み]
    Connects Pango to SDL

-

4). 依存パッケージのインストール3:

下記の「perl-sdl」のパッケージに不具合があり、ビルド中に停止するので、それを回避します。

-

(1). パッケージを確認:
$ paru -Ss perl-sdl
:
aur/perl-sdl 2.548-7 [+2 ~0.07]
    Simple DirectMedia Layer for Perl

→AUR リポジトリにあります。

-

(2). ビルド途中の、テストの「t/core_video.t」のところでフリーズします。

→PKGBUILD を修正し、「テスト」を実施しないようにして、エラーで停止しないようにしました。

原因の解消ではなく、回避です。

-

(3). PKGBUILD をダウンロード:
$ mkdir -p ~/ダウンロード/test/
$ cd ~/ダウンロード/test/
$ paru -G perl-sdl
:
:: PKGBUILD をダウンロードしています...
 (1/1) perl-sdl-2.548-7 をダウンロードしています

-

確認:

$ ls ~/ダウンロード/test/perl-sdl/
PKGBUILD

-

(4). PKGBUILD を修正:
$ cd ~/ダウンロード/test/perl-sdl/
$ xed PKGBUILD

-

check() {
  cd SDL-$pkgver
  perl Build test || true
}

↓ 下記 51行目をコメント化:

check() {
  cd SDL-$pkgver
# perl Build test || true
}

-

(5). 現在のディレクトリにある(修正した) PKGBUILD で、ビルドしてインストール:
$ cd ~/ダウンロード/test/perl-sdl/
$ ls
PKGBUILD

-

インストール:
$ paru -Ui
:: インストールを行いますか? [Y/n]: 

→Enter

→パスワード入力

リポジトリ (8) perl-tie-simple-1.04-10  sdl_net-1.2.8-5
    sdl_ttf-2.0.11-6  sdl_image-1.2.12-7  
    libmikmod-3.3.11.1-6  sdl_mixer-1.2.12-12  
    sdl_gfx-2.0.26-5  smpeg-2.0.0-2
リポジトリ ビルド (14) perl-class-data-inheritable-0.09-2
    perl-devel-stacktrace-2.04-2  
    perl-exception-class-1.45-2  
    perl-test-nowarnings-1.06-2  perl-test-deep-1.130-2  
    perl-algorithm-diff-1:1.201-3  perl-text-diff-1.45-2
    perl-test-differences-0.69-1  
    perl-sub-uplevel-0.2800-4  perl-test-exception-0.43-8
    perl-file-slurp-tiny-0.004-8  
    perl-tree-dag-node-1.32-1  perl-test-warn-0.37-1  
    perl-test-most-0.38-1

:: インストールを行いますか?

→Enter

パッケージ (1)  新しいバージョン  最終的な変化
perl-sdl        2.548-7               2.32 MiB

:: インストールを行いますか? [Y/n] 

→Enter

→インストール完了

-

確認:
$ paru -Ss perl-sdl
aur/perl-sdl 2.548-7 [+2 ~0.07] [インストール済み]
    Simple DirectMedia Layer for Perl

-

5). 「frozen-bubble」のインストール:

$ paru -S frozen-bubble
:
リポジトリ (2) perl-ipc-system-simple-1.30-4  
    perl-compress-bzip2-2.28-3
リポジトリ ビルド (2) perl-file-slurp-9999.32-2  
    perl-locale-maketext-lexicon-1.00-4
Aur (1) frozen-bubble-2.2.1beta1-17

:: レビューを続行しますか? [Y/n]: 

→Enter

「q」でレビューを終了

:: インストールを行いますか? [Y/n]: 

→Enter

→パスワード入力

パッケージ (4) perl-compress-bzip2-2.28-3
               perl-file-slurp-9999.32-2
               perl-ipc-system-simple-1.30-4
               perl-locale-maketext-lexicon-1.00-4

:: インストールを行いますか? [Y/n] 

→Enter

パッケージ (1)  新しいバージョン  最終的な変化
frozen-bubble   2.2.1beta1-17        23.01 MiB

-

6). インストールされたか確認:

$ paru -Ss frozen-bubble
:
aur/frozen-bubble 2.2.1beta1-17 [+5 ~0.45] [インストール済み]
    A game in which you throw colorful bubbles and build 
    groups to destroy the bubbles

→インストールされました。

-

7). 起動:

Windows + 6 →「ワークスペース6」を表示:

Windows + D →「アプリ一覧」表示 →「game」と入力して絞り込み

→「Frozen Bubble」を選んで、Enter

-

8). 実行時の画面:

「←」と「→」キーで砲台の向きを変えます。「↑」で発射。

Esc で終了。

-


9). 一覧で、「Frozen Bubble」のアイコンが表示されないので、修正:

$ sudo xed /usr/share/applications/frozen-bubble.desktop

-

Icon=frozen-bubble.png

↓ 修正:

Icon=frozen-bubble

-

ちなみに、アイコンは下記が使われていました:

$ ls /usr/share/pixmaps/frozen-bubble.png

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -

20. 参考: 「paru」のコマンド:

-

「paru」のみで有効なコマンドも含まれています:

-

Github からの抜粋、他:

$ paru                    # システム更新。「$ paru -Syu」と同じ機能。エイリアス:
$ paru 「パッケージ名」      # 「パッケージ名」を対話的に検索してインストール:
$ paru -S「パッケージ名」    # 特定のパッケージをインストール:
$ paru -Ss 「パッケージ名」  # 公式リポジトリと、AUR リポジトリから、パッケージを検索:
$ paru -Syu               # 公式リポジトリと、AUR リポジトリのパッケージを更新(システム更新):
$ paru -Sua               # AUR パッケージを更新:
$ paru -Qua               # 利用可能な AUR アップデートを表示:
$ paru -G 「パッケージ名」   # 「パッケージ名」の PKGBUILD と関連ファイルをカレントディレクトリにダウンロード:
$ paru -Gp 「パッケージ名」  # 「パッケージ名」の PKGBUILD を表示:
$ paru -Gc 「パッケージ名」  # 「パッケージ名」の AUR コメントを表示:
$ paru -Ui                # 現在のディレクトリにある PKGBUILD で、ビルドしてインストール:
$ paru --gendb            # paru を初めて使う場合にのみ必要。「*-git」パッケージを追跡するための devel データベースを生成:

$ paru -R 「パッケージ名」   # 指定したパッケージのみを削除:
$ paru -Rs 「パッケージ名」  # 指定したパッケージと、依存するパッケージを削除:
$ paru -Qdt               # 依存の切れた、孤児パッケージを検索:
$ paru -Qm                # インストールされた、AUR から削除されたパッケージを検索:

→「PKGBUILD」がビルド用のスクリプトです。AUR パッケージを登録するには、アプリ開発者が記述して登録するルールなので、使用者がビルドの時に依存で悩む必要が減り、ビルドが確実に動作する利点があります。

「AUR ヘルパー」は、インストール実行時に、この「PKGBUILD」スクリプトを確認する機能も持ちます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- --

21. 参考: 「EndeavourOS」の「/etc/eos-update-notifier.conf」に日本語のコメント行を追記:

-

「Welcome v3.45-1」画面のメニューに、設定ファイルの「/etc/eos-update-notifier.conf」を編集するメニューがあります。単にエディタで開かれるだけなので、編集しやすいように、設定ファイルに日本語のコメント行を追記しました。

やり方は、こちらの投稿を参照すればいいので、作業しても、しなくても OK 。

どのような設定があるか、一度ながめておくと良いです。

-

1). 修正前に、「/etc/eos-update-notifier.conf」を退避:

$ sudo cp /etc/eos-update-notifier.conf /etc/eos-update-notifier.conf-ORG

-

2). 「/etc/eos-update-notifier.conf」の修正:

-「Welcome v3.45-1」の場合に使える、日本語のコメント行を追加したファイルです:

-

$ sudo xed /etc/eos-update-notifier.conf

↓ Ctrl+A ですべて選択して Del で消してから、下記をすべて貼り付け(和訳が追記されます):

### eos-update-notifier configuration file
#
### 「eos-update-notifier」設定ファイルについて

## Check also updates from AUR:
#
### ■ AUR の更新も確認しますか?:
#
### 下記の設定: AUR の更新を確認= する
#
CheckAurUpdates=yes          # yes or no

## Note: the AUR helper program can be set in file
## /etc/eos-script-lib-yad.conf, variable EOS_AUR_HELPER.
#
### ■ 注: AUR ヘルパー プログラムはファイルに設定できます。
### ●●重要●●
### 「/etc/eos-script-lib-yad.conf」で、変数は「EOS_AUR_HELPER」です。

## Use additional EOS updater.
## This program will be called by the eos-update-notifier after
## updating Arch/EOS and AUR packages.
## Input parameter is the log file name.
## Additional updater must return a similar exit code as 'checkupdates'.
#
### ■ 追加の「EOS updater」を使用しますか?
### このプログラムは、Arch/EOS および AUR パッケージを更新した後、
### 「eos-update-notifier」によって呼び出されます。
### 入力パラメータは、ログ ファイル名です。
#
### 追加の「EOS updater」は、「checkupdates」と同様の終了コードを
### 返す必要があります。
#
### 下記の設定: 追加の「EOS updater」の名前= 指定なし
#
AdditionalEosUpdater=""

## Check also Arch news for you:
#
### ■ Arch のニュースもチェックしますか?
#
### 下記の設定: Arch News をチェックする= いいえ
#
CheckArchNewsForYou=no      # yes or no

## Check news while updating?
#
### ■ 更新中にニュースをチェックしますか?
#
### 下記の設定: 更新中のニュースチェックを許可= はい
#
AllowNewsCheckWhileUpdating=yes   # yes or no

## Program for showing the Arch news.
## 'eos-arch-news' shows news based on the date and shows the news
## only if there are newer news than at the previous check.
## Note: 'arch-news-for-you' was outdated and is now removed.
## This option was added in eos-update-notifier version 0.9-1.
#
### ■ Arch ニュースを表示するためのプログラムについて
### 「eos-arch-news」は、日付に基づいてニュースを表示し、
### 前回のチェックよりも新しいニュースがある場合にのみ
### ニュースを表示します。
### 注: 「arch-news-for-you」は古くなり削除されました。
### このオプションは、下記のバージョンで追加:
### 「eos-update-notifier version 0.9-1」
#
### 下記の設定: Arch ニュースを表示するプログラム= eos-arch-news
#
ArchNewsProg=eos-arch-news

## Prefer tray notification or small window for nofitying about updates?
##
## NOTE: if clicking the tray notification icon launches also the next panel item,
## a workaround is either to
##  - re-organize panel's notification area icons so that 'Yad' is not the first (uppermost), or
##  - add an empty launcher right next to the tray notification icon.
#
### ■ 更新に関する通知にトレイ通知、または小さなウィンドウを使用しますか?
### 注: トレイ通知アイコンをクリックすると、次のパネル項目も起動する場合、
### 回避策は、「Yad」が最初 (一番上) にならないように、
### パネルの通知領域のアイコンを再編成することです。
### または、トレイ通知アイコンのすぐ隣に空のランチャーを追加します。
#
### 設定できる値は、notify(通知)、notify+tray(通知+トレイ)、tray(トレイ)、
### window(小さなウィンドウ)です。
#
### 下記の設定: 更新について表示= notify(通知)
#
ShowHowAboutUpdates=notify     # value: 'notify', 'notify+tray', 'tray', or 'window'

## What info to show about pending updates ("number of updates" or "package names");
## applies only when 'ShowHowAboutUpdates' is set to 'window':
#
### ■ 保留中の更新について表示する情報は、「更新の数」または「パッケージ名」です。
### 「ShowHowAboutUpdates」が「window」に設定されている場合にのみ適用されます。
#
### 設定できる値は、number(更新の数)、packages(パッケージ名)です。
#
### 下記の設定: アップデートについての表示= number(更新の数)
#
ShowWhatAboutUpdates=number  # values: 'number' or 'packages'

## Specify how long time the notification window will be shown until it closes automatically.
## Refers to the following values of 'ShowHowAboutUpdates' (see above):
##  - notify
##  - notify+tray
## Valid values are:
##  - positive integers with a suffix 's' (seconds), 'm' (minutes), and 'h' (hours)
##  - 0 (notification window will not close automatically)
## Default for both is 30s.
#
### ■ 通知ウィンドウが自動的に閉じるまでの時間を指定します。
### 「ShowHowAboutUpdates」の次の値を参照します (上記を参照)。
###  - notify(通知)
###  - notify+tray(通知+トレイ)
#
### 有効な値は次のとおりです:
### 「s」(秒)、「m」(分)、「h」(時間) の接尾辞が付いた正の整数
### 「0」 (通知ウィンドウは自動的に閉じません) 
### どちらのデフォルトも 30 秒です。
#
### 下記の設定: 
### 国連 通知タイムアウト= 30s(30 秒)
### 国連 通知トレイ タイムアウト= 30s(30 秒)
#
UN_NotifyTimeout=30s            # for 'notify'
UN_NotifyTrayTimeout=30s        # for 'notify+tray'

## SyncAfterUpdate.
## Note: this setting was moved from here to eos-script-lib-yad.conf at 2022-Apr-28.
### ■ 更新後に同期
### 注: この設定は、2022年4月28日に、ここから「eos-script-lib-yad.conf」に移動しています。

## UpdateNotifyIcon is the icon name that will be used when showing available updates.
## The default is 'system-software-update'. If that icon does not exist on your system,
## you can change the icon to something that does.
#
### ■ 「UpdateNotifyIcon」は、利用可能な更新を表示するときに使用されるアイコン名です。
### デフォルトは「system-software-update」です。
### そのアイコンがシステムに存在しない場合は、アイコンを何かに変更できます。
#
### 下記の設定: 更新通知アイコン= system-software-update
#
UpdateNotifyIcon=system-software-update

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ---

22. 参考: 「EndeavourOS」の「/etc/eos-script-lib-yad.conf」に日本語のコメント行を追記:

-

設定ファイルが編集しやすいように、設定ファイルに日本語のコメント行を追記しました。

ただし、こちらの投稿を参照すればいいので、作業しても、しなくても OK 。

どのような設定があるか、一度ながめておくと良いです。

-

1). 修正前に、「/etc/eos-script-lib-yad.conf」を退避:

$ sudo cp /etc/eos-script-lib-yad.conf /etc/eos-script-lib-yad.conf-ORG

-

2). 「/etc/eos-script-lib-yad.conf」の修正:

-「Welcome v3.45-1」の場合に使える、日本語のコメント行を追加したファイルです:

-

$ sudo xed /etc/eos-script-lib-yad.conf

↓ Ctrl+A ですべて選択して Del で消してから、下記をすべて貼り付け(和訳が追記されます):

### Configuration file for eos-script-lib-yad.
###
### To enable any setting below, simply remove the starting '#' character
### on the appropriate line.
#
### ■「eos-script-lib-yad」の設定ファイルについて
### 以下の設定を有効にするには、該当する行の先頭の「#」文字を削除するだけです。

## Terminal program to be used by certain EndeavourOS packages
## like 'welcome' and 'eos-update-notifier'.
## Many popular terminals are supported. See a list of terminals known to be compatible
## in file /usr/share/endeavouros/scripts/eos-script-lib-yad, function eos_yad_terminal().
## If you have any of the listed terminals installed, EOS_YAD_TERMINAL need not be enabled.
## Then the programs will use the first available program in the list.
## Note: other than the listed terminals may or may not be compatible.
#
### ■ EndeavourOS パッケージで使用される「welcome」や「eos-update-notifier」などの
### 特定のターミナル プログラムは、多くの一般的な端末がサポートされています。
#
### 「/usr/share/endeavouros/scripts/eos-script-lib-yad」ファイルの
### 関数 eos_yad_terminal() で、互換性がある端末の一覧を参照ください。
### 一覧にある端末がインストールされている場合、
### EOS_YAD_TERMINAL を有効にする必要はありません。
### 次に、プログラムはリストで最初に使用可能なプログラムを使用します。
### 注: 記載されている端末以外は、対応している場合とそうでない場合があります。
#
# EOS_YAD_TERMINAL="terminator"

## EOS_ROOTER configures the command for acquiring elevated privileges
## when running commands in terminal.
#
### ■「EOS_ROOTER」は、ターミナルでコマンドを実行するときに、
### 権限を昇格するためのコマンドを設定します。
#
## Supported values:
### サポートされている値:
#
##   "su"
##   "sudo"
##   "pkexec"
##   "su-c_wrapper"
## Still supported values, but deprecated and will be removed in the future:
### 値は引き続きサポートされていますが、非推奨で将来削除の予定です。
#
##   "su -c"
##   "pkexec bash -c"
##   "sudo bash -c"
##   "/usr/bin/su -c"
##   "/usr/bin/pkexec bash -c"
##   "/usr/bin/sudo bash -c"
#
export EOS_ROOTER="su"

## EOS_WELCOME_CONNECTION_WARNING specifies whether you want to allow the warning window
## in the Welcome app about not being connected to the internet.
## Supported values are: "yes" or "no".
#
### ■「EOS_WELCOME_CONNECTION_WARNING」は、
### 「Welcome」アプリでインターネットに接続されていないという警告ウィンドウを
### 許可するかを指定します。
### サポートされている値は、「yes」または「no」です。
#
EOS_WELCOME_CONNECTION_WARNING=yes

## EOS_CONNECTION_CHECKER selects the way how an internet connection availability is checked.
## Supported values are: "ping" or "curl".
## Note: "ping" may have problems if you are behind a proxy, thus "curl" is the default.
#
### ■「EOS_CONNECTION_CHECKER」は、インターネット接続のチェック方法を選択します。
### サポートされている値は、「ping」または「curl」です。
### 注: プロキシの配下の場合、「ping」で問題が発生することがあるので、「curl」がデフォルトです。
#
EOS_CONNECTION_CHECKER="curl"

## EOS_WIFIDEV_CHECK specifies if we want to make some ad hoc checks that we have the right
## wifi card drivers installed. The checks are made in the Welcome app when using
## the button "Detect system issues".
## Supported values are "yes" or "no".
#
### ■「EOS_WIFIDEV_CHECK」は、適切な Wi-Fi カード ドライバーがインストール
### されていることをチェックするかを指定します。
### 「システムの問題を検出」ボタンを使用すると、「Welcome」アプリでチェック
### が行われます。
### サポートされている値は「yes」または「no」です。
#
EOS_WIFIDEV_CHECK="yes"

## TERMINAL_AT_START, if set, causes the Welcome app to start a terminal always when
## the Welcome app is started. The value should be an already installed terminal on your system.
## Note that you can include any terminal specific options, for example:
##    TERMINAL_AT_START="xfce4-terminal --working-directory=$HOME/Downloads --geometry=+50+50"
#
### ■「TERMINAL_AT_START」が設定されている場合、「Welcome」アプリの起動時に
### 必ず「Welcome」アプリがターミナルを起動します。
### 値は、システムに既にインストールされている端末でなければなりません。
### 次のような端末固有のオプションを含めることができることに注意。
##    TERMINAL_AT_START="xfce4-terminal --working-directory=$HOME/Downloads --geometry=+50+50"
#
# TERMINAL_AT_START="xfce4-terminal"

## EOS_KEEP_PKGS lists the names of packages that should not be removed when button
## "Detect system issues" of the Welcome app is clicked.
## For example:
##    EOS_KEEP_PKGS="intel-ucode xf86-video-intel"
#
### ■「EOS_KEEP_PKGS」には、「Welcome」アプリの「システムの問題を検出する」ボタン
### がクリックされたときに削除されるべきではないパッケージの名前が一覧表示されます。
#
# EOS_KEEP_PKGS=""

## EOS_AUR_HELPER contains the AUR helper program name.
## Supported values are yay and paru, but other helpers may work as well.
## The program must support options -Qua and -Sua.
#
### ■「EOS_AUR_HELPER」には、「AUR ヘルパー」プログラム名が入ります。
### サポートされている値は「yay」と「paru」ですが、他のヘルパーも機能
### する場合があります。
### プログラムは、オプション「-Qua」および「-Sua」をサポートする
### 必要があります。
### ●●「yay」から「paru」に変更しました: ●●
#
EOS_AUR_HELPER="paru"

## EOS_WELCOME_PACDIFFER is an array of diff programs that can be used by pacdiff
## (see man pacdiff) in Welcome.
## Supported values are: kdiff3, kompare, diffuse, meld, code, diff, vim.
## Other diff programs may work but are not tested (and may need additional support
## by Welcome).
## The array is written in preference order as only one of them is used.
#
### ■「EOS_WELCOME_PACDIFFER」は、「Welcome」で
###  pacdiff (man pacdiff を参照) で使用できる「diff」プログラムの配列です。
### サポートされている値は、kdiff3、kompare、diffuse、meld、code、diff、vim です。
### 他の「diff」プログラムでも動作する可能性がありますが、テストされていません
###  (また、Welcome による追加サポートが必要になる場合があります)。
###  配列は、そのうちの 1つだけが使われるため、優先順に書き込みます。
#
EOS_WELCOME_PACDIFFERS=(meld kdiff3 kompare diffuse diff vim)

## EOS_PACDIFF_WARNING specifies whether a warning about the power of eos-pacdiff
## will be shown or not when starting it.
## Supported values: "yes" or "no".
## Default: "yes".
## Note: 'code' is not supported.
#
### ■「EOS_PACDIFF_WARNING」は、起動時に eos-pacdiff の能力に関する
### 警告を表示するかを指定します。
### サポートされている値: 「yes」または「no」
### デフォルト: 「yes」
### 注: 「code」はサポートされていません。
#
EOS_PACDIFF_WARNING=yes

## EOS_SUDO_EDITORS is an array of editor names that are suitable for
## editing files with root permissions.
## Currently they are used only in eos-update-notifier-configure.
## Note that non-GUI editors (e.g. nano, emacs) are preferred for security reasons.
#
### ■「EOS_SUDO_EDITORS」は、ルート権限でファイルを
### 編集するのに適したエディタ名です。
#
### 現在、「eos-update-notifier-configure」でのみ使用されています。
### セキュリティ上の理由から、GUI ではないエディタ (nano、emacs など) が
### 推奨されることに注意してください。
#
## Currently editors known to work are:
### 現在、動作することが知られているエディタ:
#
### 好ましい選択
## - Non-GUI (preferred): 
##   - nano
##   - emacs
##   - vim
#
### 好ましくない選択
## - GUI (not preferred): 
##   - leadpad
##   - xed
##   - geany
##   - mousepad (only with dbus-launch) dbus-launch のみ
#
## Other editors may work as well, but have not been tested.
## The array is written in preference order as only one of them is used.
#
### 他のエディタも同様に動作する可能性がありますが、テストされていません。
### 配列は、そのうちの 1つだけが使われるため、優先順に書き込みます。
#
EOS_SUDO_EDITORS=(nano emacs vim)

## EOS_WALLPAPER_FETCHER selects the program to be used for downloading
## certain additional wallpapers to EndeavourOS. These wallpapers (currently)
## include the legacy wallpapers, and wallpapers created by the
## EndeavourOS community.
## Supported values: "git" or "curl". "git" is the default.
## Of these, "curl" may be more suitable if bandwidth is limited.
#
### ■「EOS_WALLPAPER_FETCHER」は、特定の追加の壁紙を
### EndeavourOS にダウンロードするために使用するプログラムを選択します。
### これらの壁紙 (現在) には、従来の壁紙と、EndeavourOS コミュニティによって
### 作成された壁紙が含まれます。
### サポートされている値: "git" または "curl"で、「git」がデフォルトです。
### これらのうち、帯域幅が制限されている(ネットワークが遅い)場合は、
### 「curl」が適しているかも。
#
EOS_WALLPAPER_FETCHER="git"

## EOS_WELCOME_HAS_SEE_YOU_LATER_BUTTON determines whether to show
## the "See you later" button on the Welcome window.
## Supported values: "yes" or "no"
## Default: "no"
#
### ■「EOS_WELCOME_HAS_SEE_YOU_LATER_BUTTON」は、
### 「Welcome」ウィンドウに「後で見る」ボタンを表示するかを指定します。
### サポートされている値: 「yes」または「no」
### デフォルト: 「no」
#
EOS_WELCOME_HAS_SEE_YOU_LATER_BUTTON=no

## EOS_FILESERVER_SITE specifies the site where certain documents and
## small files will be fetched during the install phase, and when using the
## installed system.
#
### ■「EOS_FILESERVER_SITE」は、インストール フェーズ中、
### およびインストールされたシステムの使用時に、特定のドキュメントと
### 小さなファイルが取得されるサイトを指定します。
#
## Supported values:
### サポートされている値:
#
##    gitlab    (default)
##    github
#
EOS_FILESERVER_SITE=gitlab

## SyncAfterUpdate specifies whether to call 'sync' after updating or not.
## Possible values: "yes" or "no".
## Default: "no".
## Note: this setting was moved here from eos-update-notifier.conf at 2022-Apr-28.
#
### ■「SyncAfterUpdate」は、更新後に「sync」を呼び出すかどうかを指定します。
### 可能な値: 「yes」または「no」
### デフォルト: 「no」
### 注: この設定は、2022年4月28日に「eos-update-notifier.conf」から
### ここに移動されました。
#
SyncAfterUpdate=no

## EOS_UPDATE_ARCH_KEYRING_FIRST, if set to "yes", will try to update package
## archlinux-keyring before updating other packages.
## This may help with some PGP signature issues.
## Note: this setting is used only in these apps:
##    - UpdateInTerminal
##    - welcome (via UpdateInTerminal)
#
### ■「EOS_UPDATE_ARCH_KEYRING_FIRST」が「yes」に
### 設定されている場合、他のパッケージを更新する前に
### パッケージ「archlinux-keyring」を更新しようとします。
### これは、いくつかの PGP 署名の問題に役立つ場合があります。
### 注: この設定は、次のアプリでのみ使用されます。
#
##    - UpdateInTerminal
##    - welcome (UpdateInTerminal 経由)
#
## Supported values:
### サポートされている値:
#
##    no     (default)
##    yes
#
EOS_UPDATE_ARCH_KEYRING_FIRST=no

## EOS_ICON_SETS_PREFERENCE array specifies the order of preference of the icon sets
## you want to use in certain EndeavourOS apps.
## The icon sets are folder names directly under /usr/share/icons.
## The icon set names can be listed without path.
## Default: all folders names found under /usr/share/icons
##          (note: not all of them contain icons...)
#
### ■「EOS_ICON_SETS_PREFERENCE」は、特定の EndeavourOS アプリ
### で使用するアイコン セットの優先順位を指定します。
### アイコン セットは、「/usr/share/icons」直下のフォルダ名です。
### アイコン セット名は、パスなしでリストできます。
### デフォルト: /usr/share/icons の下にあるすべてのフォルダ名
###      (注: すべてにアイコンが含まれているわけではありません...)
#
EOS_ICON_SETS_PREFERENCE=(
   # Add your preferred icon sets here.
   # For example:
   ### 好みのアイコン セットをここに追加します。
   ### 例:
   #    Qogir Adwaita hicolor

   # This is the default list of icon sets (note: in alphabetical order):
   ### これはアイコン セットのデフォルト リストです (注: アルファベット順):
   /usr/share/icons/*
)

-

3). 再起動:

$ reboot

-

4).「Welcome v3.45-1」画面にて、「インストール後」(After install tasks) タブを選択:

-

オレンジ色の「システム更新」(Update System) をクリック

→システム更新が正常にできるか確認

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----

23. 参考:「i3-wm」環境について:

-

「EndeavourOS」の「i3-wm」のサイト:

Github: endeavouros-team/endeavouros-i3wm-setup

-


1). タイル型、スタック型、タブ型のレイアウトの切替え:

タイル型 (tiling) : タイリングは i3wm のデフォルトに設定されています。

スタック型 (stacking) : コンテナ内のフォーカスされたウィンドウのみが表示されます。コンテナの上部にウィンドウのリストが表示されます。

タブ型 (tabbed) : 新しいウィンドウはそれぞれ「タブ」としてフルスクリーンで開きます。

-

マウスまたはショートカットでウィンドウタブを切り替えることができます:

[mod]+「←」 ウィンドウタブを左に切替え
[mod]+「→」 ウィンドウタブを右に切替え

-


2). 使用されているアプリ:

→端末を変更したい場合は、「~/.profile」も変更 (export TERMINAL=xfce4-terminal)

-

3). ホーム「~/」のファイル一覧:

$ ls -1a ~/
.
..
.Xauthority
.Xresour