Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

Go言語スライスの任意の範囲を指定

スライスの任意の範囲からデータを取り出す

「開始index 以上 終了index未満」って仕様。
他言語でもそうなんだけれど、どうも自分は未だに慣れない。
マイコンのソフト書くので、ゼロスタートはしっくりくるんですが、範囲終了が”指定数値の+1”なのが個人的には微妙。。

開始インデックス:欲しいデータのインデックス
終了インデックス:欲しいデータのインデックス + 1

イメージ的にこっからここまで!って感じがしっくり来るんだけれどなぁ。。。

ソース

package main

import "fmt"

func main() {

    x := []string{"a", "b", "c", "d", "e", "f", "g", "h", "i"}
    fmt.Printf("index :  0 1 2 3 4 5 6 7 8\n")
    fmt.Printf("slice : %v\n\n",x)
    fmt.Printf("x[2:5]: %v\n",x[2:5])
    fmt.Printf("x[:5] : %v\n",x[:5])
    fmt.Printf("x[5:] : %v\n",x[5:])
    fmt.Printf("x[:]  : %v\n",x[:])

    x = append(x, "j", "k", "l")
    fmt.Printf("append(x,10,11,12) -> x : %v\n",x)
}

結果

index :  0 1 2 3 4 5 6 7 8
slice : [a b c d e f g h i]

x[2:5]: [c d e]
x[:5] : [a b c d e]
x[5:] : [f g h i]
x[:]  : [a b c d e f g h i]
append(x,"j","k","l") -> x : [a b c d e f g h i j k l]

ChromebookでYoutubeを聞きながらメモを取る

Youtubeで音声学習

Youtubeに課金すれば、バックグラウンド再生できてアレヤコレヤ他の恩恵も受けられます。
んが、Chromebookの場合(パソコンの場合?)は課金しなくても音声学習可能です。

設定でブラウザ利用にする

「設定」→「アプリを管理する」→「YouTube」→「Chromeブラウザで開く」

この設定にしておくと、ブラウザで再生できる。
結果、バックグラウンドで音声を聞きながらメモアプリでメモを取れたりする。
手書きアプリとかでメモすると脳に定着しやすいのではないか?と勝手に思えるくらい、自分には効率が良い。

上記の設定を行わないと、メモアプリを起動した段階でYouTubeの再生が止まってしまう。

WSL2(Ubuntu)を起動しようとしたら「0x80070050」と怒られる

WSL2(Ubuntu20.04LTS)を起動しようとしたら「0x80070050」エラー

2022/04/13 追記

どうも、Ubuntuのディストリビュージョン名が変わってしまうことが原因のようですね。
以前は「Ubuntu20.04LTS」でしたが「Ubuntu-20.04」になっている様子です。
緊急対応として、レジストリ修正で名前を変更し解決する方法が公開されています。
20.04 - WSL not working after update from Microsoft store - Ask Ubuntu
※まこみな さん。情報感謝です!

ですが、今後updateする度に新しい名前になる可能性もあり、さっさとスナップショットを作成して復活させる方が健全な気がしております。

解決の記録

エラー「0x80070050」となりWSL2が起動しなくなった時の解決方法。
結論から書きますと・・・

スナップショットを取ってないと復活できない可能性大!です。

突然「0x80070050」エラー

機嫌よく起動していたUbuntu20.04が起動しなくなり途方に暮れました。
スナップショットを取っていない場合、今まで起動していたバーチャルマシンそのものが死んでいるような状況になるため、どうしようもありません。。。
※復活できる方法をご存じの方は是非教えてください。。。orz

念のためWSLのUbuntuをアンインストール

怖かったので、「プログラムの追加と削除」からUbuntuをアンインストールしました。

Ubuntuを再インストール

アンインストール後、Microsoft StoreからUbuntu20.04を再インストール。

管理者権限でPowershellを起動

管理者権限でPowerShellを起動します。
以降、バーチャルマシンへのあれこれは、PowerShell上で行います。

バーチャルマシンを確認

環境が壊れる前に作っていた仮想マシンが生きている模様。
これはもしかしたら、私だけのラッキーなのかもしれない。。。
「Ubuntu20.04LTS_sk1」が、壊れる前にとっておいたスナップショット。

> wsl -l -v
  NAME                  STATE           VERSION
* Ubuntu20.04LTS_sk1    Stopped         2
  Ubuntu-20.04          Stopped         2

バーチャルマシンを起動

ユーザーを指定して、バーチャルマシンを起動してみる。
ユーザー名を指定しない場合、rootでの起動となる。(--user k を入力しなければroot)

「ファイル名を指定して実行」を開く

Windows11メニューからインストールしたUbuntuを開けば良いのかと思ったらどうも違うらしい。
「ファイル名を指定して実行」からwslコマンドを叩く

# 右記の通り短縮可能。 --distribution → -d  --user → -u
> wsl --distribution Ubuntu20.04LTS_sk1 --user k

もしスナップショットの仮想マシンが表示されなかったら(もしくは起動しなかったら)・・・

Ubuntuを再インストールしたとき、スナップショットの仮想マシンが表示されなかったら・・・
または、壊れてしまっていたら・・・

大丈夫!
スナップショットから仮想マシンを作成し、仮想マシンを起動すれば復活できるはずです。

仮想マシンの復活

# 例)仮想マシンの削除
> wsl --unregister Ubuntu20.04LTS_sk1

# スナップショットから仮想マシンを作成
# 左から → 仮想環境名、仮想環境ファイル置き場、スナップショット名
> wsl --import Ubuntu20.04LTS_sk1 C:\wsl_vhdx\Ubuntu20.04LTS_sk1 C:\wsl_snapshot\ubuntu20210629.tar

スナップショットの起動

「ファイル名を指定して実行」を開く

Windows11メニューからインストールしたUbuntuを開けば良いのかと思ったらどうも違うらしい。
「ファイル名を指定して実行」からwslコマンドを叩く

# 右記の通り短縮可能。 --distribution → -d  --user → -u
> wsl --distribution Ubuntu20.04LTS_sk1 --user k

デフォルトのバーチャルマシンを指定しておく

wslコマンドで起動するディストリビュージョンをあらかじめ設定しておく

> wsl -s Ubuntu20.04LTS_sk1

Windows11 + WSL2 + Ubuntu20 + Emacs27.2

Windows11にWSL2(Ubuntu20.40)をインストールしEmacs27.2をコンパイルする

Windows11を仕立て、そこにWSL2をインストール。
WSL2のOSとしてUbuntu20.04を選択。
それを条件として、Emacs27.2をソースからコンパイルする。

WSL2の有効化

マイクロソフト公式の情報をもとにWSL2をインストール
WSL のインストール | Microsoft Docs

注意!→管理者権限でPowerShellを起動する事。

> wsl --install

※上記公式サイトに、ディスとリビュージョンを選択できる方法も記載されているが、デフォルトがUbuntu20.04らしいのでそれを採用とする。

スタートメニューからUbuntu起動

Windows11のスタートメニュー?からUbuntuを起動すると、ユーザー名とパスワードの入力を求められ、無事に完了するとbashプロンプトが起動する。

ディスとリビュージョンのアップデートとアップグレード

ここでお決まりのコマンドを叩いておく。
詳しいことは公式に公開されている。
WSL の開発環境を設定する | Microsoft Docs

$ sudo apt update
$ sudo apt upgrade

GUIアプリサポート設定

こちらも公式にのっとって。
WSL で Linux GUI アプリを実行する | Microsoft Docs

注意!→管理者権限でPowerShellを起動する事。

> wsl --update

その後

> wsl --shutdown

を実行して、再びスタートメニューからUbuntuを起動する。

試しにGeditをインストールして実行してみる

Ubuntu起動後のbashにて

$ sudo apt install gedit -y

とした後、

$ gedit

として、Geditが起動したら成功。

日本語入力周りを設定

日本語入力周りの設定をすでに完了している人は、この項目はスルーしてください。

Windows側の日本語フォントを使えるようにconfファイル作成
$ cat << 'EOS' | sudo tee /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
<!-- Created by bash script from https://astherier.com/blog/2021/07/windows11-wsl2-wslg-japanese/ -->
EOS
日本語パックをインストールしてロケールを変更
sudo apt -y install language-pack-ja
sudo update-locale LANG=ja_JP.UTF8
FcitxとMozcをインストール
sudo apt install -y fcitx-mozc dbus-x11
sudo sh -c "dbus-uuidgen > /var/lib/dbus/machine-id"
bash起動時の設定ファイルを作成
cat << 'EOS' | tee -a ~/.profile
#Added by bash script from https://astherier.com/blog/2021/07/windows11-wsl2-wslg-japanese/
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
if [ $SHLVL = 1 ] ; then
  (fcitx-autostart > /dev/null 2>&1 &)
  xset -r 49  > /dev/null 2>&1
fi
#Added by bash script: end
EOS
WSL2の再起動

Powershellを開いて下記コマンドを実行。
注意!→管理者権限でPowerShellを起動する事。

インストールしたUbuntuの名前を確認

> wsl --list --verbose
  NAME              STATE           VERSION
* Ubuntu20.04LTS    Running         2

確認した名前でコマンド実行

> wsl -t Ubuntu20.04LTS

その後

> wsl --shutdown

を実行して、再びスタートメニューからUbuntuを起動する。

日本語化を確認

下記コマンドで、日本語表示のFcitx設定画面が表示されたら成功。
表示されたウィンドウの項目に「Mozc」が追加されているはず。

$ fcitx-config-gtk3

注意!→Keyboard(US)を削除してKeyboard(日本語)を追加し、最上位に持ってっ来ること。

Mozcの設定を変更することで、日本語←→英語 の切替キーを設定可能。
デフォルトでは「Ctrl + space」と「Zenkakuhankaku」になっていた。

Emacs27.2のインストール

ここまででGUIアプリのインストールまでできるようになったはずなので

Emacs27.2のソースコードダウンロード

公式からソースコードをダウンロード
GNU Emacs download - GNU Project
ここから辿って
Index of /pub/GNU/emacs
ここで目的のソースをダウンロードする。

2022/04/04現在 → emacs-27.2.tar.gz
Windows用をダウンロードしないように注意

emacs-27.2.tar.gzを任意のフォルダに解凍

任意のフォルダに解凍する
当然だけれど、作業はUbuntuBash上で行う事。

$ tar -xzvf ./emacs-27.2.tar.gz

※任意のフォルダへのemacs-27.2.tar.gz配置等は割愛。
※適当なフォルダに保存しておき、bashのカレントにしておく。

必要なライブラリをインストール

基本的には、こちらの内容通りにインストール。
GitHub - hubisan/emacs-wsl: Install and run Emacs with the Windows Subsystem for Linux (WSL) in Windows 10.

sudo apt update
sudo apt install -y autoconf automake bsd-mailx dbus-x11 debhelper dpkg-dev \
    libacl1-dev libasound2-dev libdbus-1-dev libgif-dev libgnutls28-dev libgpm-dev \
    libgtk-3-dev libjansson-dev libjpeg-dev liblcms2-dev liblockfile-dev libm17n-dev \
    libncurses5-dev liboss4-salsa2 libotf-dev libpng-dev librsvg2-dev \
    libselinux1-dev libsystemd-dev libtiff-dev libxml2-dev libxpm-dev procps quilt \
    sharutils texinfo zlib1g-dev gvfs language-pack-en-base libasound2 libaspell15 \
    libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libbrotli1 \
    libcairo-gobject2 libcairo2 libcanberra-gtk3-0 libcanberra-gtk3-module \
    libcanberra0 libcroco3 libdatrie1 libdb5.3 libdrm2 libegl1 libenchant1c2a \
    libepoxy0 libflac8 libfontconfig1 libfreetype6 libgbm1 libgdk-pixbuf2.0-0 \
    libgif7 libgl1 libglvnd0 libglx0 libgpm2 libgraphite2-3 libgstreamer-gl1.0-0 \
    libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk-3-0 libgudev-1.0-0 \
    libharfbuzz-icu0 libharfbuzz0b libhyphen0 libice6 libicu66 libjansson4 \
    libjavascriptcoregtk-4.0-18 libjbig0 libjpeg-turbo8 liblcms2-2 liblockfile1 \
    libltdl7 libm17n-0 libnotify4 libnss-mdns libnss-myhostname libnss-systemd \
    libogg0 liborc-0.4-0 libotf0 libpango-1.0-0 libpangocairo-1.0-0 \
    libpangoft2-1.0-0 libpixman-1-0 libpng16-16 libpulse0 librsvg2-2 libsasl2-2 \
    libsecret-1-0 libsm6 libsndfile1 libsoup2.4-1 libssl1.1 libstdc++6 libtdb1 \
    libthai0 libtiff5 libvorbis0a libvorbisenc2 libvorbisfile3 libwayland-client0 \
    libwayland-cursor0 libwayland-egl1 libwayland-server0 libwebp6 libwebpdemux2 \
    libwoff1 libx11-6 libx11-xcb1 libxau6 libxcb-render0 libxcb-shm0 libxcb1 \
    libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 \
    libxinerama1 libxkbcommon0 libxml2 libxpm4 libxrandr2 libxrender1 libxslt1.1 \
    libyajl2
コンパイル
$ cd ./emacs-27.2
$ ./configure
$ sudo make
$ sudo make install
emacs起動
$ emacs

アンインストールしたくなったら

上記紹介サイトに記載がある。
コンパイルしたフォルダに入って、下記のコマンドを叩くことでアンインストールできる模様。

Update to a new Emacs version
To update to a new Emacs version uninstall the current one by going to the folder you used for the installation (for instance ~/emacs-27.1) and run sudo make uninstall.

Then install the new version.
$ cd ./emacs-27.2
$ sudo make uninstall.

調子悪い事

一応GUIモードで起動はするが・・・日本語入力Mozcがうまく動作しない。
Windows側にGoogle日本語入力をインストールし、それをLinux側のEmacsと紐付けるやり方が散見されるが・・・
コンソールのEmacsなら日本語入力に問題が見当たらないので、現在、$ emacs -nw としてコンソール起動して使っている。
今のところ、それで特に不満はない。

【理由】
・必要なら別窓でUbuntu起動して他のアプリ起動すればよい。
・ほかのGUIアプリの多くは、このブログの設定で日本語入力できている。
・マウス操作によるWindows←→Linuxクリップボードコピー&ペーストができている

CUIで動く高速なgrep代替をchromebookで「silversercher-ag」

高速検索を実現するコマンドラインツール「ag」

LinuxMacOS等のUnix系ターミナルを使っている人なら、必ずお世話になるツール「Grep
これの高速版として未だ人気を獲得しているagをChromebookLinuxターミナルにインストールして使ってみる

インストール

Linuxターミナルを起動して下記のコマンドを実施。
あっという間にインストール完了

hoge@penguin:~$ sudo apt install silversearcher-ag
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  silversearcher-ag
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
38.6 kB のアーカイブを取得する必要があります。
この操作後に追加で 127 kB のディスク容量が消費されます。
取得:1 https://deb.debian.org/debian buster/main arm64 silversearcher-ag arm64 2.2.0-1 [38.6 kB]
38.6 kB を 1秒 で取得しました (43.8 kB/s)                  
debconf: delaying package configuration, since apt-utils is not installed
以前に未選択のパッケージ silversearcher-ag を選択しています。
(データベースを読み込んでいます ... 現在 67056 個のファイルとディレクトリがインストールされています。)
.../silversearcher-ag_2.2.0-1_arm64.deb を展開する準備をしています ...
silversearcher-ag (2.2.0-1) を展開しています...
silversearcher-ag (2.2.0-1) を設定しています ...
man-db (2.8.5-2) のトリガを処理しています ...

動作確認

そのままagとだけ入力してみる。
うまくインストールできていれば、agのヘルプが表示される。*1

hoge@penguin:~$ ag

Usage: ag [FILE-TYPE] [OPTIONS] PATTERN [PATH]

  Recursively search for PATTERN in PATH.
  Like grep or ack, but faster.

Example:
  ag -i foo /bar/

Output Options:
     --ackmate            Print results in AckMate-parseable format
  -A --after [LINES]      Print lines after match (Default: 2)
  -B --before [LINES]     Print lines before match (Default: 2)
     --[no]break          Print newlines between matches in different files
                          (Enabled by default)
  -c --count              Only print the number of matches in each file.
                          (This often differs from the number of matching lines)
     --[no]color          Print color codes in results (Enabled by default)
     --color-line-number  Color codes for line numbers (Default: 1;33)
     --color-match        Color codes for result match numbers (Default: 30;43)
     --color-path         Color codes for path names (Default: 1;32)
     --column             Print column numbers in results
     --[no]filename       Print file names (Enabled unless searching a single file)
  -H --[no]heading        Print file names before each file's matches
                          (Enabled by default)
  -C --context [LINES]    Print lines before and after matches (Default: 2)
     --[no]group          Same as --[no]break --[no]heading
  -g --filename-pattern PATTERN
                          Print filenames matching PATTERN
  -l --files-with-matches Only print filenames that contain matches
                          (don't print the matching lines)
  -L --files-without-matches
                          Only print filenames that don't contain matches
     --print-all-files    Print headings for all files searched, even those that
                          don't contain matches
     --[no]numbers        Print line numbers. Default is to omit line numbers
                          when searching streams
  -o --only-matching      Prints only the matching part of the lines
     --print-long-lines   Print matches on very long lines (Default: >2k characters)
     --passthrough        When searching a stream, print all lines even if they
                          don't match
     --silent             Suppress all log messages, including errors
     --stats              Print stats (files scanned, time taken, etc.)
     --stats-only         Print stats and nothing else.
                          (Same as --count when searching a single file)
     --vimgrep            Print results like vim's :vimgrep /pattern/g would
                          (it reports every match on the line)
  -0 --null --print0      Separate filenames with null (for 'xargs -0')

Search Options:
  -a --all-types          Search all files (doesn't include hidden files
                          or patterns from ignore files)
  -D --debug              Ridiculous debugging (probably not useful)
     --depth NUM          Search up to NUM directories deep (Default: 25)
  -f --follow             Follow symlinks
  -F --fixed-strings      Alias for --literal for compatibility with grep
  -G --file-search-regex  PATTERN Limit search to filenames matching PATTERN
     --hidden             Search hidden files (obeys .*ignore files)
  -i --ignore-case        Match case insensitively
     --ignore PATTERN     Ignore files/directories matching PATTERN
                          (literal file/directory names also allowed)
     --ignore-dir NAME    Alias for --ignore for compatibility with ack.
  -m --max-count NUM      Skip the rest of a file after NUM matches (Default: 10,000)
     --one-device         Don't follow links to other devices.
  -p --path-to-ignore STRING
                          Use .ignore file at STRING
  -Q --literal            Don't parse PATTERN as a regular expression
  -s --case-sensitive     Match case sensitively
  -S --smart-case         Match case insensitively unless PATTERN contains
                          uppercase characters (Enabled by default)
     --search-binary      Search binary files for matches
  -t --all-text           Search all text files (doesn't include hidden files)
  -u --unrestricted       Search all files (ignore .ignore, .gitignore, etc.;
                          searches binary and hidden files as well)
  -U --skip-vcs-ignores   Ignore VCS ignore files
                          (.gitignore, .hgignore; still obey .ignore)
  -v --invert-match
  -w --word-regexp        Only match whole words
  -W --width NUM          Truncate match lines after NUM characters
  -z --search-zip         Search contents of compressed (e.g., gzip) files

File Types:
The search can be restricted to certain types of files. Example:
  ag --html needle
  - Searches for 'needle' in files with suffix .htm, .html, .shtml or .xhtml.

For a list of supported file types run:
  ag --list-file-types

ag was originally created by Geoff Greer. More information (and the latest release)
can be found at http://geoff.greer.fm/ag

使い方

カレントディレクトリ以下から文字列「hoge」を検索する

$ ag hoge

*2

/var/log以下から文字列「hoge」を検索する

$ ag hoge /var/log

マッチした文字「kthread」が含まれるファイル名だけを表示する

$ ag -l kthread
init/main.c
init/Kconfig
mm/kmemleak.c
mm/vmscan.c
(……略……)

あきらかにマッチするはずの文字列が含まれているのにヒットしない時

テキストファイルに、あきらかに存在する文字列がヒットしない場合。
その多くは、該当のテキストファイルをバイナリファイルとして認識してしまっている可能性が高い。
検索結果にこのように表示されているかも。

$ ag -ua hoge
Binary file {something file} matches. 

どうも原因は、文字コードUTF-8以外になっているからの様子。
Windowsから引っ張ってきたファイル群に対してagする場合は注意が必要。
*3

# DOS → UTF8 一括変換
find . -type f | xargs nkf -w --overwrite

# CRLF → LF 一括変換
find . -type f | xargs file | grep CRLF | awk -F: '{print $1}' | xargs nkf -Lu --overwrite

*1:マニュアルもインストールされるので、man ag でmanページを閲覧できる

*2:とくにオプションを付けなくても、$ grep -r hoge と同等の動きになる。

*3:この症状はgrepでも同様に発生する。。。

GitHubのリポジトリをcloneしようとしたら認証エラーになる時の対応

複数PCでGitHubを利用したい

複数のPCでGitHubを利用しようとしたら、ユーザー名とパスワードを求められたので入力。
正しく入力したつもりなのだが・・・なぜか認証エラーになる。

認証エラー

どうも、二段階認証が有効になってから、この症状が出ているらしい。

$ git clone https://github.com/private-organization/repository.git
Cloning into 'repository'...
Username for 'https://github.com': kamuy
Password for 'https://kamuy@github.com':   <- 入力しても何も表示されない
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/private-organization/repository.git/'

こんな感じ。

token作成

Personal access tokens 設定を実施

画面遷移が少しわかりにくかった・・・

  1. GitHubにログインする
  2. 右上の自分のアカウントアイコンをクリック
  3. Setttingsをクリック(画面切り替わる)
  4. 画面左側のメニュー下方にある「Developper settings」をクリック(画面切り替わる)
  5. 画面左側のメニュー下方にある「Personal access tokens」をクリック
  6. Classicを選択
tokensの作成

ここからもひたすらマウスクリック

  1. 「Generate new token (classic)」をクリック
  2. 「Note」欄に何かしら説明を入力(token generate)
  3. 「Expiration」で有効期限を選択 *1 ← classicでないと出てこない
  4. 「Select scopes」にあるgistまで上から全てチェックを入れる
  5. 「Generate token」をクリック(画面が切り替わる)
token画面が表示される⇐一回しか表示されないから閉じないで!!

ここで閉じてしまって、もう一度最初からやり直すハメになって辛かった・・・
なので、この画面はtokenを控えるまで閉じてはダメなのです。

画面中央付近に「ghp_xxxxxxxxx」というtokenが作成されているはず。
このtokenを必ずコピーして控えておく!

gitでcloneする

これもハマった。
tokenが複雑で手入力は不可能と思ったほうが良いです。
なぜなら・・・入力画面に何も表示されないから!

ターミナルでコマンド実行 〜 ユーザー名入力まで
$ git clone https://github.com/kamuycikapsample/kmy_samp.git
Cloning into 'repository'...
Username for 'https://github.com': kamuy     <-- ユーザー名はターミナルに表示される
Password for 'https://kamuy@github.com': 
パスワードにtokenを入力

ユーザー名入力の後、Passwordに作成したtokenを入力するのですが・・・これが結構めんどくさい。
パスワード入力は、ターミナル画面に表示されないので、正しく入力できているか否かが判断できず。
なので。。。

  1. コピーして控えたtokenをクリップボードにコピー
  2. Password入力のターミナル上で貼り付け(ターミナルによっては右クリックで貼り付け)
  3. 正しく貼り付けられていると信じてEnterキーを叩く

の手順でうまくいく確率を挙げられます。

$ git clone https://github.com/kamuycikapsample/kmy_samp.git
Cloning into 'repository'...
Username for 'https://github.com': kamuy 
Password for 'https://kamuy@github.com':    <--- 何も表示されないけれど・・・ 
remote: Enumerating objects: 65, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 65 (delta 26), reused 57 (delta 21), pack-reused 0
Unpacking objects: 100% (65/65), done.    <--- 貼り付けうまく行ったら成功する!

行けました!
tokenはあえて複雑な入力文字になっているので、コピーとかダメじゃんとか思いますが・・・思いの外手入力は至難の技です。

*1:「No Expiration」で有効期限無しかな?