{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/category/linux/debian-linux/testing/feed/json/ -- and add it your reader.", "next_url": "https://matoken.org/blog/category/linux/debian-linux/testing/feed/json/?paged=2", "home_page_url": "https://matoken.org/blog/category/linux/debian-linux/testing/", "feed_url": "https://matoken.org/blog/category/linux/debian-linux/testing/feed/json/", "language": "ja", "title": "testing – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=3907", "url": "https://matoken.org/blog/2023/05/30/change-i3status-font-size/", "title": "i3status\u306e\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\u3092\u5909\u66f4", "content_html": "
\u6700\u8fd1\u30a6\u30a3\u30f3\u30c9\u30a6\u30de\u30cd\u30fc\u30b8\u30e3\u306bi3 wm\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\uff0e\u4ee5\u524d\u4f7f\u3063\u3066\u3044\u305f\u74b0\u5883\u306f14\u30a4\u30f3\u30c1\u3067\u89e3\u50cf\u5ea6\u306f1600×900\uff0c\u73fe\u5728\u306f12\u30a4\u30f3\u30c1\u30671920×1200\u3067\u753b\u9762\u30b5\u30a4\u30ba\u306f\u5c0f\u3055\u304f\u306a\u3063\u305f\u3051\u3069\u30c9\u30c3\u30c8\u6570\u306f\u5897\u3048\u3066\u3044\u307e\u3059\uff0e
\n\u3053\u306e\u72b6\u614b\u3060\u3068i3\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8868\u793a\u3057\u3066\u3044\u308bi3status\u306e\u6587\u5b57\u304c\u3071\u3063\u3068\u898b\u8aad\u3081\u307e\u305b\u3093\uff0e\u76ee\u3092\u51dd\u3089\u305b\u3070\u8aad\u3081\u308b\u3051\u3069\u5927\u5909\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067\u6587\u5b57\u3092\u5927\u304d\u304f\u3059\u308b\u65b9\u6cd5\u3092\u8abf\u3079\u307e\u3057\u305f\uff0e
\n
\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306eFont\u306e\u9805\u76ee\u306eExample\u306b\u305d\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3057\u305f\uff0e
\n\n\n\n\n5.10. Font
\n
\nSpecifies the font to be used in the bar. See [fonts].\n\nSyntax:
\n\n\n\n\nfont <font>\n\n\nExample:
\n\n\n\n\nbar {\n font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1\n font pango:DejaVu Sans Mono 10\n}\n
DejaVu font \u306f\u597d\u304d\u3067\u306f\u306a\u3044\u306e\u3067\u898f\u5b9a\u5024\u306emonospace\u3067\u30b5\u30a4\u30ba\u3060\u3051\u5927\u304d\u304f\u3057\u3066\u307f\u307e\u3059\uff0e
\n~/.config/i3/config # finds out, if available)\n bar {\n status_command i3status\n+ font pango:monospace 16\n }\n\u65e2\u5b9a\u5024\u306f\u4e0a\u306e\u65b9\u306b\u3042\u3063\u305f font pango:monospace 8 \u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u3053\u306e\u72b6\u614b\u3067 Mod+Shift+r \u3067\u518d\u8aad\u8fbc\u3057\u3066\u53cd\u6620\u3055\u308c\u307e\u3057\u305f\uff0e
$ dpkg-query -W i3 i3status\ni3 4.22-2\ni3status 2.14-2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux 12 (bookworm)\nRelease: 12\nCodename: bookworm\n$ arch\nx86_64\n
\u3075\u3068GitWeb\u3092\u8d77\u52d5\u3057\u305f\u3089404\u306b\u306a\u3063\u3066\u56f0\u308a\u307e\u3057\u305f\uff0e
\n$ git instaweb --httpd webrick\n
$ w3m -dump http://127.0.0.1:1234/\n]>\ngitprojects /\n\n\n404 - No projects found\nOPML TXT\n
\n
\u3044\u304f\u3064\u304b\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u8a66\u3059\u3068\uff0c\u99c4\u76ee\u306a\u306e\u306f\u81ea\u5206\u306e\u3082\u306e\u3060\u3051\u306e\u3088\u3046\u3067clone\u3057\u305f\u4ed6\u306e\u4eba\u306e\u4f5c\u3063\u305f\u3082\u306e\u306f\u52d5\u3044\u3066\u3044\u305d\u3046\u3067\u3059\uff0e\u81ea\u5206\u304a\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u4f55\u304b\u304c\u8db3\u308a\u306a\u3044?
\n\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cddg\u3067\u691c\u7d22\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e
\nFound a likely cause while writing the question: Cloning the repository to a directory without the @ character in the name fixed it.
\n\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b@\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3068\u99c4\u76ee\u306e\u3088\u3046\u3067\u3059\uff0e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092@\u306e\u542b\u307e\u308c\u3066\u3044\u306a\u3044\u3068\u3053\u308d\u306b\u30b3\u30d4\u30fc\u3059\u308b\u3068\u3046\u307e\u304f\u52d5\u304d\u307e\u3057\u305f\uff0e
\n$ pwd | grep -o '@'\n@\n$ git instaweb --httpd webrick --stop\n$ cp -a ../05 `mktemp -d`\n$ cd /tmp/tmp.LjVifz85dp/05\n$ git instaweb --httpd webrick\n
\u81ea\u5206\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306f@\u306e\u542b\u307e\u308c\u308b\u30d1\u30b9\u306e\u4e0b\u306b\u3042\u3063\u3066\uff0c\u4ed6\u306eclone\u3057\u305f\u30ea\u30dd\u30b8\u30c8\u30ea\u306f@\u306e\u542b\u307e\u308c\u306a\u3044\u30d1\u30b9\u306e\u4e0b\u306b\u3042\u3063\u305f\u306e\u3067\u52d5\u3044\u3066\u3044\u305f\u3068\u3044\u3046\u3053\u3068\u306e\u3088\u3046\u3067\u3057\u305f\uff0e
\n$ dpkg-query -W git ruby-webrick\ngit 1:2.39.2-1.1\nruby-webrick 1.8.1-1\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux 12 (bookworm)\nRelease: 12\nCodename: bookworm\n$ arch\nx86_64\n
\u4ee5\u524d\u4f55\u7a2e\u985e\u304b\u306eVanity Adress \u3092\u6398\u3063\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u3075\u3068SSH\u9375\u306eVanity Adress \u306f\u3069\u3046\u3060\u308d\u3046\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
\u9375\u306fEd25519 \uff0e\u9375\u30da\u30a2\u306e\u516c\u958b\u9375\u304c\u3044\u3044\u611f\u3058\u3060\u3068\u826f\u3055\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\uff0e
\n\u307e\u305a\u306fOpenSSH \u306e ssh-keysign \u3067\u4f5c\u3063\u3066\u307f\u307e\u3059\uff0e\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3044\u305a\u308c\u304b\u306e mat0 \u304c\u898b\u3064\u304b\u308b\u307e\u3067\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\uff0e
$ umask 277; no=0; tmp=`mktemp -d -p ~/tmp/`; chmod 700 ${tmp}; while true;do no=$(($no + 1)); ssh-keygen -t ed25519 -f ${tmp}/${no} -N '' -C '' > /dev/null; grep -i -E m[a@]t[o0] ${tmp}/${no}.pub && echo ${tmp}/${no} && break; done\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOt6L8+9eF3T8o/M4BnDVZ5F7SVdPmat0hlM8s/8zV/r\n/home/matoken/tmp/tmp.rGb5eSpEaJ/26016\n26016\u9375\u30da\u30a2\u3092\u751f\u6210\u3057\u305f\u3068\u3053\u308d\u3067186\u79d2\u307b\u3069\uff0c\u5927\u4f53140.6keys/sec \u304f\u3089\u3044\uff0e\u9045\u3044\u611f\u3058?vmstat \u3084top \u3092\u898b\u3066\u3082cpu \u306f\u3042\u307e\u308a\u4f7f\u3048\u3066\u3044\u306a\u3044\u611f\u3058\u3067\u3059\uff0e
\n-a 1 (default:16) \u306b\u3059\u308b\u3068160.8/keys/sec \u3068\u5c11\u3057\u65e9\u304f\u306a\u308a\u307e\u3057\u305f\u304c\u9375\u3092\u76d7\u307e\u308c\u305f\u5834\u5408\u306e\u5f37\u5ea6\u304c\u4e0b\u304c\u308b\u3068\u601d\u3046\u306e\u3067\u3084\u3081\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
tool \u3092\u63a2\u3057\u3066\u307f\u307e\u3059\uff0e
\n$ git clone https://github.com/ionathanch/ssh-keygen-ed25519-vanity\n$ cd ssh-keygen-ed25519-vanity\n$ make\n
$ ./vanity mato\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEHmibZNyKuT/GO9rloS8qmatoFOZ4N7fJcRSOPCwsky\n-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACBB5om2Tcirk/xjva5aEvKpmraBTmeDe3yXEUjjwsLJMgAAAIjwyswa8MrMGgAAAAtzc2gtZWQyNTUxOQAAACBB5om2Tcirk/xjva5aEvKpmraBTmeDe3yXEUjjwsLJMgA\nAAEBro42f/ycDTNvMw3JHIGD5dzg+VVgshQw+RWIhN/I2WEHmibZNyKuT/GO9rloS8qmatoFOZ4N7fJcRSOPCwskyAAAAAAECAwQF\n-----END OPENSSH PRIVATE KEY-----\n
shell \u3067ssh-keygen \u3092\u56de\u3059\u3088\u308a\u901f\u305d\u3046\u3067\u3059\uff0e\u66f4\u306bREADME \u306b\u306fmoreutils \u306eparallel \u3092\u4f7f\u3063\u3066\u4e26\u5217\u5b9f\u884c\u3059\u308b\u65b9\u6cd5\u3082\u66f8\u304b\u308c\u3066\u3044\u307e\u3057\u305f\uff0e
\n$ time parallel -n 0 ./vanity vanity -- 1 2 3 4\n
\u4ee5\u4e0b\u306fREADME \u306b\u3042\u3063\u305f\u6587\u5b57\u6570\u306b\u3088\u308a\u3069\u306e\u304f\u3089\u3044\u6642\u9593\u304c\u304b\u304b\u308b\u304b\u306e\u76ee\u5b89\u3067\u3059\uff0e
\n\n\n\n\nRough performance stats
\n
\nObviously since it\u2019s brute force the times are probabilistic, but this gives you an idea of how feasible it would be to find your desired number of characters.\n
\n\n \n\n\n \n \n \n\n\nSubstring \nTime (s) \n\n \n\n \na
\n\n \n0.002
\n\n \n\n \nar
\n\n \n0.015
\n\n \n\n \nars
\n\n \n0.501
\n\n \n\n \narso
\n\n \n3.753
\n\n \n\n\n \narson
\n\n \nabandon all hope ye who seek five sequential characters
\n
\u5927\u5206\u901f\u3044\u3088\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u304c\u30a2\u30c9\u30ec\u30b9\u306e\u6307\u5b9a\u304c\u56fa\u5b9a\u306a\u3088\u3046\u3067\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3069\u3063\u3061\u3067\u3082\u3068\u304b\u4ee3\u66ff\u8a18\u53f7\u3067\u3082\u3044\u3044\u306a\u3069\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u51fa\u6765\u306a\u305d\u3046\u3067\u3059\uff0e
\n\u307e\u305f\u5225\u306e\u3082\u306e\u3082\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e
\n$ go install github.com/pcarrier/vanity-keygen@latest\n$ vanity-keygen -h\nUsage of vanity-keygen:\n -cpuprofile string\n write cpu profile to file\n -threads int\n number of threads to run (default 4)\n
$ time vanity-keygen -threads `nproc` [mM][aA@][tT][oO0]\n2023/04/05 08:30:06 Looking for a public key matching [mM][aA@][tT][oO0]\n2023/04/05 08:30:06 Public key:\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA2rzJZSoqwrVF/Pf2FzKgfL/eMATOI/V7bjdmqkGV5B\n2023/04/05 08:30:06 Private key:\n-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtz\nc2gtZWQyNTUxOQAAACANq8yWUqKsK1Rfz39hcyoHy/3jAEziP1e243ZqpBleQQAA\nAIiaywRCmssEQgAAAAtzc2gtZWQyNTUxOQAAACANq8yWUqKsK1Rfz39hcyoHy/3j\nAEziP1e243ZqpBleQQAAAEDBsKpzquKe0/QTheaoVSChK8gF6d38u5mwrtqihfMY\n6A2rzJZSoqwrVF/Pf2FzKgfL/eMATOI/V7bjdmqkGV5BAAAAAAECAwQF\n-----END OPENSSH PRIVATE KEY-----\n\nreal 0m0.331s\nuser 0m0.652s\nsys 0m0.048s\n
\u3053\u306e\u30c4\u30fc\u30eb\u306f\u30b9\u30ec\u30c3\u30c9\u6570\u3082\u6307\u5b9a\u3067\u304d\u308b\u3057\uff0c\u30a2\u30c9\u30ec\u30b9\u306e\u6307\u5b9a\u3082\u67d4\u8edf\u306a\u306e\u3067\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\n$ vanity-keygen aaaaa\n2023/04/05 08:30:12 Looking for a public key matching aaaaa\n2023/04/05 08:30:13 Generated 71,000 keypairs (69,788 Hz)\n2023/04/05 08:30:14 Generated 141,000 keypairs (70,310 Hz)\n2023/04/05 08:30:15 Generated 212,000 keypairs (70,454 Hz)\n2023/04/05 08:30:16 Generated 284,000 keypairs (70,792 Hz)\n2023/04/05 08:30:17 Generated 356,000 keypairs (71,040 Hz)\n
\u63a2\u7d22\u4e2d\u306b\u3069\u306e\u304f\u3089\u3044\u306e\u9375\u3092\u751f\u6210\u3057\u305f\u304b\u3082\u8868\u793a\u3055\u308c\u307e\u3059\uff0e
\n\u826f\u3055\u305d\u3046\u306a\u306e\u3067Tor \u306e\u3068\u304d\u306e\u3088\u3046\u306b\u5c11\u96fb\u529b\u306aSBC\u306eRaspberry Pi 3 modelB \u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n$ GOARCH=arm GOARM=7 go build .\n$ file ./vanity-keygen\n./vanity-keygen: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, Go BuildID=Z_Cr4XM48GAIHSA-MQng/2wFeSpgr5k0WPASNS4ho/3FEwAtva33LS2ByXLcjP/0WSk_fEc6xXCDZEo89yH, with debug_info, not stripped\n
$ ./vanity-keygen -threads 4 aaaa\n2023/04/05 08:22:58 Looking for a public key matching aaaa\n2023/04/05 08:22:59 Generated 0 keypairs (0 Hz)\n2023/04/05 08:23:00 Generated 4,000 keypairs (1,991 Hz)\n2023/04/05 08:23:01 Generated 4,000 keypairs (1,332 Hz)\n2023/04/05 08:23:02 Generated 8,000 keypairs (1,990 Hz)\n2023/04/05 08:23:03 Generated 8,000 keypairs (1,598 Hz)\n^C\n$ cat /proc/device-tree/model && echo\nRaspberry Pi 3 Model B Rev 1.2\n
\u2026\u2026\u5927\u5206\u9045\u304f\u306a\u308a\u307e\u3057\u305f\uff0ePC\u3067\u5b9f\u884c\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\n\u6c17\u306b\u5165\u3063\u305f\u9375\u304c\u51fa\u6765\u305f\u3089\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u8a2d\u5b9a\u3057\u305f\u308a\uff0c
\n$ ssh-keygen -p -f ./key\nKey has comment ''\nEnter new passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved with the new passphrase.\n
\u30b3\u30e1\u30f3\u30c8\u3092\u66f8\u304d\u63db\u3048\u305f\u308a\u3057\u307e\u3057\u3087\u3046\uff0e
\n$ ssh-keygen -c -f ./key\nEnter passphrase:\nOld comment:\nNew comment: vanity\nComment 'vanity' applied\n
Tor \u306eVanity adoress \u306a\u3093\u304b\u306b\u6bd4\u3079\u308b\u3068\u3042\u307e\u308a\u76ee\u7acb\u305f\u306a\u3044\u3067\u3059\u304c\uff0chostkey \u3084GitHub/Lab \u306a\u3069\u3067\u4e00\u822c\u516c\u958b\u3057\u3066\u3044\u308b\u9375\u306b\u4f7f\u3046\u306e\u306f\u3042\u308a\u3067\u306f\u3068\u601d\u3044\u307e\u3059\uff0e
\n$ cpu-info\nPackages:\n 0: Intel Core i5-7300U\nMicroarchitectures:\n 2x Sky Lake\nCores:\n 0: 2 processors (0-1), Intel Sky Lake\n 1: 2 processors (2-3), Intel Sky Lake\nLogical processors (System ID):\n 0 (0): APIC ID 0x00000000\n 1 (2): APIC ID 0x00000001\n 2 (1): APIC ID 0x00000002\n 3 (3): APIC ID 0x00000003\n$ lsb_release -dr\nNo LSB modules are available.\nDescription: Debian GNU/Linux 12 (bookworm)\nRelease: 12\n$ arch\nx86_64\n
\u6614\u30cf\u30fc\u30c9\u30aa\u30d5\u3067Logicool C270 \u3092500\u5186\u307b\u3069\u3067\u8cfc\u5165\u3057\u3066\u4f7f\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\u30d3\u30c7\u30aa\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u826f\u304f\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066C270\u306f\u30de\u30a4\u30af\u3082\u3064\u3044\u3066\u3044\u308b\u306e\u3067\u4fbf\u5229\u306b\u4f7f\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\u3067\u3082\u30de\u30a4\u30af\u306b\u30ce\u30a4\u30ba\u304c\u4e57\u308b\u3088\u3046\u306b\u306a\u308aNotePC\u5185\u8535\u30a6\u30a7\u30d6\u30ab\u30e0\u3084\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092Webcam\u3068\u3057\u3066\u5229\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u4f7f\u3044\u306b\u304f\u3044\u3057\u30de\u30a4\u30af\u304c\u3064\u3044\u3066\u3044\u306a\u3044\u306e\u3067\u5c11\u3057\u4e0d\u4fbf\uff0e\u4eca\u56de\u3072\u3068\u3064\u4e0a\u306e\u6a5f\u7a2e\u306eC310n \u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\uff0e
\n\n
\u8cfc\u5165\u3057\u305f\u306e\u306fAmazon \u3067\uff0c-19% off 2400\u5186\u3068\u306a\u3063\u3066\u3044\u305f\u306e\u3067\u305d\u308c\u3067\u8cfc\u5165\u3057\u3088\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308dAmazon \u306eUSED \u30672040\u5186\u9001\u6599\u7121\u6599\u304c\u3042\u3063\u305f\u306e\u3067\u305d\u3061\u3089\u3092\u8cfc\u5165\uff0e
\n\u3053\u3093\u306a\u611f\u3058\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u5c4a\u304d\u307e\u3057\u305f\uff0e\u5185\u5bb9\u7269\u306f\u672c\u4f53\u3068\u5c0f\u3055\u306a\u4fdd\u8a3c\u66f8\u3068\u53d6\u8aac\u304c1\u679a\u3065\u3064\uff0e\u4ed8\u5c5e\u7269\u4e00\u89a7\u304c\u306a\u3044\u306e\u3067\u65b0\u54c1\u3082\u3053\u308c\u3068\u540c\u3058\u304b\u306f\u4e0d\u660e\uff0e
\n
\n
\u3053\u306e\u30c6\u30fc\u30d7\u306e\u5207\u308a\u65b9\u306f\u3061\u3087\u3063\u3068\u30a2\u30a6\u30c8\u611f\uff0e
\n\u5916\u89b3\u306f\u3053\u3093\u306a\u611f\u3058\uff0eC270\u3068\u307b\u307c\u540c\u3058\u3060\u3051\u3069C270\u3088\u308a\u6c17\u6301\u3061\u5927\u304d\u304f\u306a\u3063\u3066\uff0c\u30b1\u30fc\u30d6\u30eb\u6b62\u3081\u306e\u30d9\u30eb\u30af\u30ed\u304c\u3042\u308a\u307e\u305b\u3093\uff0e
\n
\n
\u30ab\u30bf\u30ed\u30b0\u30b9\u30da\u30c3\u30af\u306fC270 \u3068\u307b\u307c\u540c\u3058\u3067\uff0c\u753b\u89d2\u3068\u753b\u7d20\u6570\u304c\u5c11\u3057\u9055\u3046\u3088\u3046\uff0e
\n| \n | C270n | \nC310n | \n
|---|---|---|
| \n \u753b\u7d20\u6570 \n | \n\n 0.9MP \n | \n\n 1.2MP \n | \n
| \n \u5bfe\u89d2\u8996\u91ce \n | \n\n 55\u00b0 \n | \n\n 60\u00b0 \n | \n
Linux\u7aef\u672b\u306b\u7e4b\u3044\u3067\u307f\u308b\u3068C270\u3068\u540c\u3058\u304fUVC/UAC \u3067\u8a8d\u8b58\u3057\u3066\u7279\u306b\u554f\u984c\u306a\u304f\u5229\u7528\u3067\u304d\u3066\u3044\u305d\u3046\u3067\u3059\uff0e
\n$ sudo dmesg --human --color --follow-new\n[ +4.580070] usb 1-3: new high-speed USB device number 59 using xhci_hcd\n[ +0.369127] usb 1-3: New USB device found, idVendor=046d, idProduct=081b, bcdDevice= 0.12\n[ +0.000026] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=2\n[ +0.000011] usb 1-3: SerialNumber: 159F4170\n[ +0.002035] usb 1-3: Found UVC 1.00 device <unnamed> (046d:081b)\n[ +0.115112] input: UVC Camera (046d:081b) as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/input/input192\n[ +0.071778] usb 1-3: set resolution quirk: cval->res = 384\n
$ lsusb -d 046d:081b\nBus 001 Device 059: ID 046d:081b Logitech, Inc. Webcam C310\n
$ v4l-info /dev/video2\n\n### v4l2 device info [/dev/video2] ###\ngeneral info\n VIDIOC_QUERYCAP\n\tdriver : \"uvcvideo\"\n\tcard : \"UVC Camera (046d:081b)\"\n\tbus_info : \"usb-0000:00:14.0-3\"\n\tversion : 6.1.12\n\tcapabilities : 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)]\n\nstandards\n\ninputs\n VIDIOC_ENUMINPUT(0)\n\tindex : 0\n\tname : \"Camera 1\"\n\ttype : CAMERA\n\taudioset : 0\n\ttuner : 0\n\tstd : 0x0 []\n\tstatus : 0x0 []\n\nvideo capture\n VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)\n\tindex : 0\n\ttype : VIDEO_CAPTURE\n\tflags : 0\n\tdescription : \"YUYV 4:2:2\"\n\tpixelformat : 0x56595559 [YUYV]\n VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)\n\tindex : 1\n\ttype : VIDEO_CAPTURE\n\tflags : 1\n\tdescription : \"Motion-JPEG\"\n\tpixelformat : 0x47504a4d [MJPG]\n VIDIOC_G_FMT(VIDEO_CAPTURE)\n\ttype : VIDEO_CAPTURE\n\tfmt.pix.width : 640\n\tfmt.pix.height : 480\n\tfmt.pix.pixelformat : 0x56595559 [YUYV]\n\tfmt.pix.field : NONE\n\tfmt.pix.bytesperline : 1280\n\tfmt.pix.sizeimage : 614400\n\tfmt.pix.colorspace : SRGB\n\tfmt.pix.priv : 4276996862\n\ncontrols\n VIDIOC_QUERYCTRL(BASE+0)\n\tid : 9963776\n\ttype : INTEGER\n\tname : \"Brightness\"\n\tminimum : 0\n\tmaximum : 255\n\tstep : 1\n\tdefault_value : 128\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+1)\n\tid : 9963777\n\ttype : INTEGER\n\tname : \"Contrast\"\n\tminimum : 0\n\tmaximum : 255\n\tstep : 1\n\tdefault_value : 32\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+2)\n\tid : 9963778\n\ttype : INTEGER\n\tname : \"Saturation\"\n\tminimum : 0\n\tmaximum : 255\n\tstep : 1\n\tdefault_value : 32\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+12)\n\tid : 9963788\n\ttype : BOOLEAN\n\tname : \"White Balance, Automatic\"\n\tminimum : 0\n\tmaximum : 1\n\tstep : 1\n\tdefault_value : 1\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+19)\n\tid : 9963795\n\ttype : INTEGER\n\tname : \"Gain\"\n\tminimum : 0\n\tmaximum : 255\n\tstep : 1\n\tdefault_value : 64\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+24)\n\tid : 9963800\n\ttype : MENU\n\tname : \"Power Line Frequency\"\n\tminimum : 0\n\tmaximum : 2\n\tstep : 1\n\tdefault_value : 2\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+26)\n\tid : 9963802\n\ttype : INTEGER\n\tname : \"White Balance Temperature\"\n\tminimum : 0\n\tmaximum : 10000\n\tstep : 10\n\tdefault_value : 4000\n\tflags : INACTIVE\n VIDIOC_QUERYCTRL(BASE+27)\n\tid : 9963803\n\ttype : INTEGER\n\tname : \"Sharpness\"\n\tminimum : 0\n\tmaximum : 255\n\tstep : 1\n\tdefault_value : 24\n\tflags : unknown\n VIDIOC_QUERYCTRL(BASE+28)\n\tid : 9963804\n\ttype : INTEGER\n\tname : \"Backlight Compensation\"\n\tminimum : 0\n\tmaximum : 1\n\tstep : 1\n\tdefault_value : 0\n\tflags : unknown\n
$ pactl list sources | grep 'escription: Webcam C310' -B 3 -A999\nSource #1114\n\tState: RUNNING\n\tName: alsa_input.usb-046d_081b_159F4170-02.mono-fallback\n\tDescription: Webcam C310 \u30e2\u30ce\n\tDriver: PipeWire\n\tSample Specification: s16le 1ch 48000Hz\n\tChannel Map: mono\n\tOwner Module: 4294967295\n\tMute: no\n\tVolume: mono: 65536 / 100% / 0.00 dB\n\t balance 0.00\n\tBase Volume: 20724 / 32% / -30.00 dB\n\tMonitor of Sink: n/a\n\tLatency: 0 usec, configured 0 usec\n\tFlags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY\n\tProperties:\n\t\talsa.card = \"2\"\n\t\talsa.card_name = \"USB Device 0x46d:0x81b\"\n\t\talsa.class = \"generic\"\n\t\talsa.device = \"0\"\n\t\talsa.driver_name = \"snd_usb_audio\"\n\t\talsa.id = \"USB Audio\"\n\t\talsa.long_card_name = \"USB Device 0x46d:0x81b at usb-0000:00:14.0-3, high speed\"\n\t\talsa.name = \"USB Audio\"\n\t\talsa.resolution_bits = \"16\"\n\t\talsa.subclass = \"generic-mix\"\n\t\talsa.subdevice = \"0\"\n\t\talsa.subdevice_name = \"subdevice #0\"\n\t\tapi.alsa.card.longname = \"USB Device 0x46d:0x81b at usb-0000:00:14.0-3, high speed\"\n\t\tapi.alsa.card.name = \"USB Device 0x46d:0x81b\"\n\t\tapi.alsa.path = \"hw:2\"\n\t\tapi.alsa.pcm.card = \"2\"\n\t\tapi.alsa.pcm.stream = \"capture\"\n\t\taudio.channels = \"1\"\n\t\taudio.position = \"MONO\"\n\t\tcard.profile.device = \"1\"\n\t\tdevice.api = \"alsa\"\n\t\tdevice.class = \"sound\"\n\t\tdevice.id = \"112\"\n\t\tdevice.profile.description = \"\u30e2\u30ce\"\n\t\tdevice.profile.name = \"mono-fallback\"\n\t\tdevice.routes = \"1\"\n\t\tfactory.name = \"api.alsa.pcm.source\"\n\t\tmedia.class = \"Audio/Source\"\n\t\tdevice.description = \"Webcam C310\"\n\t\tnode.name = \"alsa_input.usb-046d_081b_159F4170-02.mono-fallback\"\n\t\tnode.nick = \"USB Device 0x46d 0x81b\"\n\t\tnode.pause-on-idle = \"false\"\n\t\tobject.path = \"alsa:pcm:2:hw:2:capture\"\n\t\tpriority.driver = \"2000\"\n\t\tpriority.session = \"2000\"\n\t\tfactory.id = \"18\"\n\t\tclock.quantum-limit = \"8192\"\n\t\tclient.id = \"33\"\n\t\tnode.driver = \"true\"\n\t\tfactory.mode = \"split\"\n\t\taudio.adapt.follower = \"\"\n\t\tlibrary.name = \"audioconvert/libspa-audioconvert\"\n\t\tobject.id = \"92\"\n\t\tobject.serial = \"1114\"\n\t\tnode.max-latency = \"16384/48000\"\n\t\tapi.alsa.period-size = \"512\"\n\t\tapi.alsa.period-num = \"64\"\n\t\tapi.alsa.headroom = \"512\"\n\t\tapi.acp.auto-port = \"false\"\n\t\tapi.acp.auto-profile = \"false\"\n\t\tapi.alsa.card = \"2\"\n\t\tapi.alsa.use-acp = \"true\"\n\t\tapi.dbus.ReserveDevice1 = \"Audio2\"\n\t\tdevice.bus = \"usb\"\n\t\tdevice.bus-id = \"usb-046d_081b_159F4170-02\"\n\t\tdevice.bus_path = \"pci-0000:00:14.0-usb-0:3:1.2\"\n\t\tdevice.enum.api = \"udev\"\n\t\tdevice.form_factor = \"webcam\"\n\t\tdevice.icon_name = \"camera-web-analog-usb\"\n\t\tdevice.name = \"alsa_card.usb-046d_081b_159F4170-02\"\n\t\tdevice.nick = \"USB Device 0x46d:0x81b\"\n\t\tdevice.plugged.usec = \"152884093590\"\n\t\tdevice.product.id = \"0x081b\"\n\t\tdevice.product.name = \"Webcam C310\"\n\t\tdevice.serial = \"046d_081b_159F4170\"\n\t\tdevice.subsystem = \"sound\"\n\t\tsysfs.path = \"/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/sound/card2\"\n\t\tdevice.vendor.id = \"0x046d\"\n\t\tdevice.vendor.name = \"Logitech, Inc.\"\n\t\tdevice.string = \"2\"\n\tPorts:\n\t\tanalog-input-mic: \u30de\u30a4\u30af\u30ed\u30d5\u30a9\u30f3 (type: Mic, priority: 8700, availability unknown)\n\tActive Port: analog-input-mic\n\tFormats:\n\t\tpcm\n
\u73fe\u5728\u306fAmazon\u3067C270n 2,200\u5186\uff0cC310n 2,400\u5186\u3068\u5024\u6bb5\u5dee\u304c\u3042\u307e\u308a\u306a\u3044\u306e\u3067C310\u306e\u65b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\nAndorid \u306e\u753b\u9762\u3092PC \u306b\u8ee2\u9001\u3057\u3066\u64cd\u4f5c\u3082\u51fa\u6765\u308bScrcpy \u3068\u3044\u3046\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c\u3042\u308a\u307e\u3059\uff0e\u6700\u65b0\u7248\u306e2.0\u3067\u30aa\u30fc\u30c7\u30a3\u30aa\u8ee2\u9001\u306b\u3082\u6b63\u5f0f\u5bfe\u5fdc\u3057\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n\n
Scrcpy \u306f\u3053\u3053\u3067\u3082\u4f55\u5ea6\u304b\u8a18\u4e8b\u306b\u3057\u3066\u3044\u307e\u3059\uff0e
\n\u3053\u306eScrcpy \u306f\u30aa\u30fc\u30c7\u30a3\u30aa\u306b\u5bfe\u5fdc\u3057\u3066\u304a\u3089\u305a\uff0csndcpy \u3068\u3044\u3046\u5225\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u4f7f\u3063\u305f\u308a\uff0cScrcpy/sndcpy\u3092\u540c\u68b1\u3057\u3066Qt\u3067GUI\u3092\u5b9f\u88c5\u3057\u305fQtScrcpy \u3092\u4f7f\u3063\u305f\u308a\uff0cBluetooth a2d-source \u3092\u4f7f\u3063\u3066\u97f3\u3092\u8ee2\u9001\u3057\u3066\u3044\u307e\u3057\u305f\uff0e
\nScrcpy 2.0 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\uff0c\u6a19\u6e96\u3067\u30aa\u30fc\u30c7\u30a3\u30aa\u306b\u5bfe\u5fdc\u3057\u305f\u3068\u306e\u3053\u3068\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\nLinux \u74b0\u5883\u3078\u306e\u5c0e\u5165\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u306b\u7e8f\u307e\u3063\u3066\u3044\u307e\u3059\uff0e\u305f\u3060\uff0c\u73fe\u30d0\u30fc\u30b8\u30e7\u30f3\u30672.0\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u306e\u306fHomebrew\u3068Scoop\u3060\u3051\u306e\u3088\u3046\u3067\u3059\uff0e
\nsnap \u3082\u672a\u3060 1.25 \u3067\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067source\u304b\u3089build\u3057\u307e\u3057\u305f\uff0e
\n$ sudo apt install ffmpeg libsdl2-2.0-0 adb wget \\\n gcc git pkg-config meson ninja-build libsdl2-dev \\\n libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \\\n libswresample-dev libusb-1.0-0 libusb-1.0-0-dev (1)\n$ git clone https://github.com/Genymobile/scrcpy (2)\n$ cd scrcpy\n$ ./install_release.sh (3)\n$ which scrcpy (4)\n/usr/local/bin/scrcpy\n$ scrcpy --version (5)\nscrcpy 2.0 <https://github.com/Genymobile/scrcpy>\n\nDependencies (compiled / linked):\n - SDL: 2.26.3 / 2.26.3\n - libavcodec: 59.37.100 / 59.37.100\n - libavformat: 59.27.100 / 59.27.100\n - libavutil: 57.28.100 / 57.28.100\n - libavdevice: 59.7.100 / 59.7.100\n - libusb: - / 1.0.26\n
| \n Note \n | \n\n \n \nuninstall \n\n \n\n \n$ sudo ninja -Cbuild-auto uninstall\n | \n
Android \u7aef\u672b\u306eudev \u3078\u306e\u767b\u9332\u3092\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u767b\u9332\u3057\u307e\u3059\uff0eAndroid\u7aef\u672b\u5074\u3067\u306fUSB\u30c7\u30d0\u30c3\u30b0\u3092\u6709\u52b9\u306b\u3057\u3066\u304a\u3044\u3066\uff0c\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8\u306e\u78ba\u8a8d\u304c\u8868\u793a\u3055\u308c\u305f\u3089\u8a31\u53ef\u3057\u307e\u3059\uff0e
\n$ lsusb | grep -i moto (1)\nBus 001 Device 011: ID 22b8:2e82 Motorola PCS XT1541 [Moto G 3rd Gen]\n$ echo '# moto g31\nSUBSYSTEM==\"usb\", ATTR{idVendor}==\"22b8\" ATTR{idProduct}==\"2e82\", MODE=\"0660\", GROUP=\"plugdev\", SYMLINK+=\"android%n\"' | sudo tee -a /etc/udev/rules.d/51-android.rules (2)\n$ sudo udevadm control --reload (3)\n$ adb devices (4)\n* daemon not running; starting now at tcp:5037\n* daemon started successfully\nList of devices attached\nZY22DZ5M6C device (5)\n\u3053\u306e\u72b6\u614b\u3067Scrcpy\u3092\u5b9f\u884c\u3057\u307e\u3059\uff0e\u30aa\u30fc\u30c7\u30a3\u30aa\u306b\u3064\u3044\u3066\u306f\u65e2\u5b9a\u5024\u3067\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e
\n$ scrcpy\nscrcpy 2.0 <https://github.com/Genymobile/scrcpy>\n/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 5.2 MB/s (52867 bytes in 0.010s)\n[server] INFO: Device: motorola moto g31(w) (Android 12)\nINFO: Renderer: opengl\nINFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 22.3.3\nINFO: Trilinear filtering enabled\nINFO: Initial texture: 1080x2400\n
\u3053\u306e\u72b6\u614b\u3067Android\u5074\u3067\u97f3\u306e\u51fa\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8a66\u3059\u3068PC\u304b\u3089\u97f3\u304c\u51fa\u3066Android\u5074\u304b\u3089\u306f\u97f3\u304c\u51fa\u305a\u3044\u3044\u611f\u3058\u3067\u3059\uff0eBluetooth \u63a5\u7d9a\u3068\u9055\u3044\u9045\u5ef6\u3082\u611f\u3058\u307e\u305b\u3093\uff0e
\nPavucontrol \u3092\u78ba\u8a8d\u3057\u3066\u3082 scrcpy \u304c\u5c45\u307e\u3059\uff0e
\nScrcpy \u30aa\u30fc\u30c7\u30a3\u30aa\u975e\u5bfe\u5fdc\u306eAndroid 9(10 \u4ee5\u524d)\u7aef\u672b\u3067\u3082\u8a66\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8b66\u544a\u304c\u8868\u793a\u3055\u308c\uff0c\u97f3\u306f\u8ee2\u9001\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n[server] INFO: Device: TINNO C330 (Android 9)\n[server] WARN: Audio disabled: it is not supported before Android 11\n
\u30aa\u30fc\u30c7\u30a3\u30aa\u8ee2\u9001\u3092\u884c\u3044\u305f\u304f\u306a\u3044\u5834\u5408\u306f --no-audio \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e
\n\u4ee5\u4e0b\u30aa\u30fc\u30c7\u30a3\u30aa\u95a2\u9023\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\uff0e\u97f3\u304c\u304d\u308c\u3044\u306b\u805e\u3053\u3048\u306a\u3044\u5834\u5408\u306f --audio-buffer=ms \u3092\u8a2d\u5b9a\u3059\u308b(\u65e2\u5b9a\u502450\u304b\u3089\u5897\u3084\u3059)\u3068\u826f\u3055\u305d\u3046\u3067\u3059
scrcpy --help | grep -- -audio\n --audio-bit-rate=value\n --audio-buffer=ms\n --audio-codec=name\n --audio-codec-options=key[:type]=value[,...]\n --audio-encoder=name\n by --audio-codec).\n --no-audio\n --require-audio\n
$ scrcpy --version\nscrcpy 2.0 <https://github.com/Genymobile/scrcpy>\n\nDependencies (compiled / linked):\n - SDL: 2.26.3 / 2.26.3\n - libavcodec: 59.37.100 / 59.37.100\n - libavformat: 59.27.100 / 59.27.100\n - libavutil: 57.28.100 / 57.28.100\n - libavdevice: 59.7.100 / 59.7.100\n - libusb: - / 1.0.26\n $ dpkg-query -W ffmpeg libsdl2-2.0-0 adb wget gcc git pkg-config meson ninja-build libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev adb\nadb 1:29.0.6-26\nffmpeg 7:5.1.2-3\ngcc 4:12.2.0-3\ngit 1:2.39.2-1.1\nlibavcodec-dev:amd64 7:5.1.2-3\nlibavdevice-dev:amd64 7:5.1.2-3\nlibavformat-dev:amd64 7:5.1.2-3\nlibavutil-dev:amd64 7:5.1.2-3\nlibsdl2-2.0-0:amd64 2.26.3+dfsg-1\nlibsdl2-2.0-0:i386 2.26.3+dfsg-1\nlibsdl2-dev:amd64 2.26.3+dfsg-1\nlibswresample-dev:amd64 7:5.1.2-3\nlibusb-1.0-0:amd64 2:1.0.26-1\nlibusb-1.0-0:i386 2:1.0.26-1\nlibusb-1.0-0-dev:amd64 2:1.0.26-1\nmeson 1.0.0-1.1\nninja-build 1.11.1-1\npkg-config:amd64 1.8.1-1\nwget 1.21.3-1+b2\n$ lsb_release -a\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
Nostr \u3068\u3044\u3046\u5206\u6563\u578bSNS\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u304c\u3042\u3063\u3066\u6700\u8fd1\u826f\u304f\u898b\u304b\u3051\u307e\u3059\uff0e
\n\u3053\u306eSNS\u306e\u500b\u4eba\u8a8d\u8b58\u306b\u79d8\u5bc6\u9375\u3068\u516c\u958b\u9375\u306e\u30da\u30a2\u3092\u4f5c\u6210\u3057\u3066\u305d\u308c\u3092\u5229\u7528\u3057\u307e\u3059\uff0e\u9375\u30da\u30a2\u306f\u521d\u56de\u306b\u81ea\u52d5\u751f\u6210\u3055\u308c\u308b\u306e\u3067\u3059\u304c\uff0c\u516c\u958b\u9375\u306e\u6587\u5b57\u5217\u3092\u305f\u304f\u3055\u3093\u8a08\u7b97\u3057\u3066\u597d\u307f\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u542b\u307e\u308c\u305f\u30a2\u30c9\u30ec\u30b9\u3092\u6398\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3042\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306fbech32\u3067\u8868\u73fe\u3055\u308c\u308b\u516c\u958b\u9375\u306e npub1 \u306e\u5f8c\u308d\u306e\u6587\u5b57\u5217\u3092\u4efb\u610f\u306e\u6587\u5b57\u5217\u304b\u3089\u59cb\u307e\u308b\u3082\u306e\u306b\u3057\u305f\u3044\u3068\u3044\u3046vanity \u30a2\u30c9\u30ec\u30b9\u3092\u5f6b\u308a\u305f\u3044\u4eba\u5411\u3051\u306e\u3082\u306e\u3067\u3059\uff0e
cargo insrtall \u3067\u5c0e\u5165\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u304c\uff0c\u624b\u5143\u306eDebian bookworm testing amd64 \u74b0\u5883\u3067\u306frustc \u304c 1.63 \u306b\u5bfe\u3057\u3066rana \u306f 1.64.0 \u4ee5\u4e0a\u304c\u5fc5\u8981\u3060\u3068\u3044\u3046\u3053\u3068\u3067\u53e4\u304f\u3066\u5931\u6557\u3057\u307e\u3057\u305f\uff0e
\n$ cargo install rana\n Updating crates.io index\n Installing rana v0.5.1\n Downloaded is-terminal v0.4.4\n Downloaded clap_lex v0.3.2\n Downloaded syn v1.0.109\n Downloaded bip39 v1.2.0\n Downloaded 4 crates (346.5 KB) in 2.86s\nerror: failed to compile `rana v0.5.1`, intermediate artifacts can be found at `/tmp/cargo-installvCF9z2`\n\nCaused by:\n package `clap_derive v4.1.0` cannot be built because it requires rustc 1.64.0 or newer, while the currently active rustc version is 1.63.0\n Try re-running cargo install with `--locked`\n$ dpkg-query -W rustc\nrustc 1.63.0+dfsg1-2\n
Rust Forge \u3067\u65b0\u3057\u3044Stable(1.67.1)\u3092\u8cb0\u3063\u3066\u304d\u3066\u4f7f\u304a\u3046\u304b\u3068\u3082\u601d\u3044\u307e\u3057\u305f\u304c\uff0c\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u30fc\u3092\u53e9\u304f\u5f62\u3067\u74b0\u5883\u304c\u6c5a\u308c\u305d\u3046\u3067\u5c11\u3057\u9762\u5012\u305d\u3046\uff0e
\nDocker \u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3059\uff0e
\n\u516c\u5f0f\u30a4\u30e1\u30fc\u30b8\u3060\u3051\u3042\u3063\u3066\u6700\u65b0\u306e 1.67.1 \u3067\u3059\uff0erana \u3082\u3055\u304f\u3063\u3068\u52d5\u304d\u307e\u3057\u305f\uff0e
\n$ script ./nostr_vanity.log\n$ docker run --rm -it rust\n# rustc --version\nrustc 1.67.1 (d5a82bbd2 2023-02-07)\n# adduser matoken\n# su - matoken\n$ export PATH=/usr/local/cargo/bin:$PATH\n$ rustup default stable\n$ cargo install rana\n$ rana --help\nRana 🐸\n\n o o\n ( -- )\n /\\( , ,)/\\\n^^ ^^ ^^ ^^\n\nA simple CLI to generate nostr vanity addresses\n\nFrancisco Calder\u00f3n <negrunch@grunch.dev>\n\nUsage: rana [OPTIONS]\n\nOptions:\n -d, --difficulty <DIFFICULTY>\n Enter the number of starting bits that should be 0. [default: 0]\n -v, --vanity <VANITY_PREFIX>\n Enter the prefix your public key should have when expressed\n as hexadecimal. [default: ]\n -n, --vanity-n-prefix <VANITY_NPUB_PREFIXES_RAW_INPUT>\n Enter the prefix your public key should have when expressed\n in npub format (Bech32 encoding). Specify multiple vanity\n targets as a comma-separated list. [default: ]\n -s, --vanity-n-suffix <VANITY_NPUB_SUFFIXES_RAW_INPUT>\n Enter the suffix your public key should have when expressed\n in npub format (Bech32 encoding). Specify multiple vanity\n targets as a comma-separated list. [default: ]\n -c, --cores <NUM_CORES>\n Number of processor cores to use [default: 4]\n -r, --restore <MNEMONIC>\n Restore from mnemonic to public private key [default: ]\n -g, --generate <WORD_COUNT>\n Generate mnemonic using wordcount. Should be 12,18 or 24 [default: 0]\n -p, --passphrase <MNEMONIC_PASSPHRASE>\n Passphrase used for restoring mnemonic to keypair [default: ]\n -q, --qr\n Print QR code of the private key\n -h, --help\n Print help\n -V, --version\n Print version\n
\n\n\n\nwhy can\u2019t we use characters b, i, o, or 1?
\n
\nthe characters have to be in the bech32 character set.
\u516c\u958b\u9375\u306f Bech32 \u5f62\u5f0f\u3067 023456789acdefghjklmnpqrstuvwxyz \u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f Bech32 \u3067\u4f7f\u3048\u306a\u3044 o \u3092\u4f7f\u3063\u3066\u6012\u3089\u308c\u305f\u4f8b\u3067\u3059\uff0e
$ rana --vanity-n-prefix matok\nthread 'main' panicked at 'The vanity npub prefix can only contain characters supported by Bech32: 023456789acdefghjklmnpqrstuvwxyz', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/rana-0.5.1/src/cli.rs:146:17\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n
o\u30920\u306b\u7f6e\u304d\u63db\u3048\u3066\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\uff0e
\n$ rana --vanity-n-prefix mat0k | tee rana.log\nStarted mining process for vanity bech32 prefix[es]: 'npub1[\"mat0k\"]' (estimated pow: 20)\nBenchmarking of cores disabled for vanity npub key upon proper calculation.\nMining using 4 cores...\n
\u3055\u3066\uff0c\u3053\u308c\u3067\u5f85\u3063\u3066\u3044\u308c\u3070\u9375\u304c\u6398\u308c\u308b\u306e\u3067\u3059\u304c\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u65b0\u3057\u3044\u30e9\u30c3\u30d7\u30c8\u30c3\u30d7\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u901f\u5ea6\u3067\u6398\u308c\u308b\u3068\u306e\u3053\u3068\u3067\u3059\uff0e\u3042\u307e\u308a\u9577\u304f\u3059\u308b\u3068\u306a\u304b\u306a\u304b\u6398\u308c\u306a\u3044\u306e\u3067\u6c17\u3092\u3064\u3051\u307e\u3057\u3087\u3046\uff0e
\n\n\n\n\nhow fast will nostrogen find my addresses?
\n
\nthis depends entirely upon how fast your machine is, but here are some rough estimates for a modern laptop or mobile phone:\n\n1 character = usually less than a 0.1 seconds
\n
\n2 characters = usually less than a 1 second
\n3 characters = usually less than a 30 seconds
\n4 characters = usually less than a 10 minutes
\n5 characters = usually less than a 1 hour
\n6+ characters = keep fire extinguisher handy
\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u7d50\u679c\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0eNpub public key \u306e npub1\u306e\u5f8c\u308d\u304c\u6307\u5b9a\u3057\u305fmat0k\u304b\u3089\u59cb\u307e\u3063\u3066\u3044\u307e\u3059\uff0e
\n$ rana --vanity-n-prefix mat0k | tee rana.log\nStarted mining process for vanity bech32 prefix[es]: 'npub1[\"mat0k\"]' (estimated pow: 20)\nBenchmarking of cores disabled for vanity npub key upon proper calculation.\nMining using 4 cores...\n<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>\nVanity npub found: mat0k\nFound matching Nostr public key:\nHex public key: df56fb6cce5a60eac0a55b09ff6d5fbb565b07da6f64a2578ae827d70a21873b\nHex private key: 7a1a088022c3110fabc445af28681c0d2c349a2123f38fe83fbc809d7c8ed6bb\nNpub public key: npub1mat0kmxwtfsw4s99tvyl7m2lhdt9kp76daj2y4u2aqnawz3psuass9qwnz\nNsec private key: nsec10gdq3qpzcvgsl27ygkhjs6qup5krfx3py0ecl6plhjqf6lyw66as4gyfat\n26169409 iterations (about 2x10^7 hashes) in 3199 seconds. Avg rate 8180 hashes/second\n
| \n Warning \n | \n\n\u516c\u958b\u3055\u308c\u3066\u3044\u308b\u3053\u306e\u9375\u306f\u5229\u7528\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044 | \n
\u624b\u5143\u306e\uff0cNotePC\u306e Intel\u00ae Core
i5-7300U CPU @ 2.60GHz \u3068 Oeracle Free Tier VPS Arm Ampere A1 \u5171\u306b8000\u301c8200 hashes/secod \u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\uff0e
3\u65e5\u307b\u3069\u8d70\u3089\u305b\u3066 mak0 \u304b\u3089\u59cb\u307e\u308b\u3082\u306e\u305f\u304f\u3055\u3093\uff0cmat0ke \u304b\u3089\u59cb\u307e\u308b\u3082\u306e\u304c2\u3064\u51fa\u3066\u304d\u307e\u3057\u305f\uff0e cpu fan \u3046\u308b\u3055\u3044\u3057mat0ken \u306f\u8ae6\u3081\u3066\u3053\u306e\u8fba\u306b\u3057\u3068\u3053\u3046\u304b\u306a?
\n\n\n\n\nNpub public key: npub1mat0kejpylctwszs3h0jcaw24vsmzvx0h44hl2qf3ghuz2ggekjqkwyeq5
\n
\u305d\u3046\u3044\u3048\u3070\u4ee5\u524d\u306fTor \u306e Vanity address \u3082\u6398\u3063\u3066\u3044\u307e\u3057\u305f\u2026\u2026\uff0e
\n\u8996\u5dee\u58c1\u7d19\u30a8\u30f3\u30b8\u30f3\u306elwp \u3068\u3044\u3046\u3082\u306e\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n\n
\u52d5\u4f5c\u74b0\u5883\u306fLinux, Windows \u3067\u3059\uff0eLinux amd64 \u74b0\u5883\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\nlwp \u306eREADME \u3067\u306f / \u306b\u5c55\u958b\u3059\u308b\u3088\u3046\u306b\u3068\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u304c\u3042\u307e\u308a\u3084\u308a\u305f\u304f\u306a\u3044\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u30a2\u30c9\u30db\u30c3\u30af\u306b\u52d5\u304b\u3057\u307e\u3057\u305f\uff0e
$ wget https://github.com/jszczerbinsky/lwp/releases/download/1.5/lwp-linux-x86_64.zip (1)\n$ unzip -l ./lwp-linux-x86_64.zip\nArchive: ./lwp-linux-x86_64.zip\n Length Date Time Name\n--------- ---------- ----- ----\n 0 2023-02-19 07:42 etc/\n 661 2023-02-19 07:32 etc/default.cfg\n 1047 2023-02-22 23:42 etc/lwp.cfg\n 0 2023-02-11 05:41 usr/\n 0 2023-02-22 23:42 usr/bin/\n 30800 2023-02-22 23:42 usr/bin/lwp\n 0 2022-09-30 05:27 usr/share/\n 0 2022-09-30 05:27 usr/share/lwp/\n 1076 2023-02-22 23:42 usr/share/lwp/LICENSE\n 0 2022-09-30 05:27 usr/share/lwp/wallpapers/\n 0 2023-02-21 07:58 usr/share/lwp/wallpapers/test/\n 8294538 2023-02-22 23:42 usr/share/lwp/wallpapers/test/1.bmp\n 102 2023-02-22 04:16 usr/share/lwp/wallpapers/test/source\n 8294538 2023-02-22 23:42 usr/share/lwp/wallpapers/test/3.bmp\n 8294538 2023-02-22 23:42 usr/share/lwp/wallpapers/test/2.bmp\n 461 2023-02-22 23:42 usr/share/lwp/wallpapers/test/wallpaper.cfg\n 0 2023-02-11 05:41 usr/etc/\n 558 2023-02-11 05:41 usr/etc/default.cfg\n--------- -------\n 24918319 18 files\n$ mkdir lwp\n$ cd lwp\n$ unzip ../lwp-linux-x86_64.zip\n$ usr/bin/lwp (2)\nINFO: User config file not found, opening default config\nERROR: Default config file not found!\nSegmentation fault\n$ mkdir ~/.config/lwp (3)\n$ install ./etc/lwp.cfg ~/.config/lwp/lwp.cfg (4)\n$ xrandr | grep \\* (5)\n 1920x1200 59.96*+\n$ vi ~/.config/lwp/lwp.cfg (6)\n$ diff -u etc/lwp.cfg ~/.config/lwp/lwp.cfg\n--- etc/lwp.cfg 2023-02-22 23:42:43.000000000 +0900\n+++ /home/matoken/.config/lwp/lwp.cfg 2023-02-27 03:31:49.160716609 +0900\n@@ -25,11 +25,11 @@\n monitor1_h=1080\n\n # Absolute path to the wallpaper directory\n-monitor1_wallpaper=/usr/share/lwp/wallpapers/test\n+monitor1_wallpaper=./usr/share/lwp/wallpapers/test (7)\n\n # Wallpaper size and position relative to Your monitor\n # Wallpaper resolution ratio should be the same as in original image\n monitor1_wallpaper_x=0\n monitor1_wallpaper_y=0\n monitor1_wallpaper_w=1920\n-monitor1_wallpaper_h=1080\n+monitor1_wallpaper_h=1200 (8)\n$ usr/bin/lwp (9)\n
Android \u306e\u58c1\u7d19\u306e\u3088\u3046\u3067\u9762\u767d\u3044\u3067\u3059\uff0e\u305f\u3060\uff0c\u624b\u5143\u306e\u74b0\u5883\u3067\u306f\u7e26\u30b5\u30a4\u30ba\u304c\u8db3\u308a\u307e\u305b\u3093\uff0e\u58c1\u7d19\u306e\u5143\u30b5\u30a4\u30ba\u304c 1920×1080 \u306b\u5bfe\u3057\u3066PC\u306e\u89e3\u50cf\u5ea6\u304c 1920×1200 \u306a\u306e\u3067\u305d\u306e\u305b\u3044\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n$ file usr/share/lwp/wallpapers/test/*.bmp\nusr/share/lwp/wallpapers/test/1.bmp: PC bitmap, Windows 98/2000 and newer format, 1920 x 1080 x 32, cbSize 8294538, bits offset 138\nusr/share/lwp/wallpapers/test/2.bmp: PC bitmap, Windows 98/2000 and newer format, 1920 x 1080 x 32, cbSize 8294538, bits offset 138\nusr/share/lwp/wallpapers/test/3.bmp: PC bitmap, Windows 98/2000 and newer format, 1920 x 1080 x 32, cbSize 8294538, bits offset 138\n
$ dpkg-query -W libwayland-server0 gnome-shell\ngnome-shell 43.2-2\nlibwayland-server0:amd64 1.21.0-1\nlibwayland-server0:i386 1.21.0-1\n$ lsb_release -a\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
\u30e1\u30c7\u30a3\u30a2\u30d7\u30ec\u30a4\u30e4\u30fc\u306empv \u3067\u52d5\u753b\u3092\u6700\u524d\u9762\u306b\u8868\u793a\u3057\u306a\u304c\u3089\u5225\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3057\u305f\u3044\u306e\u3067 T \u3092\u62bc\u3057\u3066\u6700\u524d\u9762\u306b\u305b\u3063\u3066\u3057\u3088\u3046\u3068\u3057\u307e\u3059\u304c\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\uff0e
\n
mpv(1)\u3060\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u5408\u3063\u3066\u3044\u305d\u3046\uff0e
\nT Toggle stay-on-top (see also --ontop).\n
\u5f15\u6570\u306e --ontop \u3084\uff0cLinux \u3067\u306f\u304a\u305d\u3089\u304f\u95a2\u4fc2\u306e\u306a\u3044 --ontop-level \u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u99c4\u76ee\u3067\u3059\uff0e
--ontop\n Makes the player window stay on top of other windows.\n\n On Windows, if combined with fullscreen mode, this causes mpv to be treated as exclusive fullscreen window that bypasses the Desktop Window Manager.\n\n --ontop-level=<window|system|desktop|level>\n (macOS only) Sets the level of an ontop window (default: window).\n\n window On top of all other windows.\n\n system On top of system elements like Taskbar, Menubar and Dock.\n\n desktop\n On top of the Dekstop behind windows and Desktop icons.\n\n level A level as integer.\n
Wayland \u306e\u305b\u3044\u3060\u308d\u3046\u304b?\u3068\u691c\u7d22\u3059\u308b\u3068\u5f53\u305f\u308a\u306e\u3088\u3046\u3067\u3059\uff0e
\n\u30ef\u30fc\u30af\u30a2\u30e9\u30a6\u30f3\u30c9\u3068\u3057\u3066 Alt+space \u3067\u51fa\u3066\u304d\u305f\u30e1\u30cb\u30e5\u30fc\u304b\u3089 \u300c\u6700\u524d\u9762\u306b\u7dad\u6301\u3059\u308b\u300d\u3092\u9078\u3076\u3053\u3068\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3057\u305f\uff0e
$ dpkg-query -W libwayland-server0 gnome-shell mpv\ngnome-shell 43.2-2\nlibwayland-server0:amd64 1.21.0-1\nlibwayland-server0:i386 1.21.0-1\nmpv 0.35.1-1\n$ lsb_release -a\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
moreutils \u306e ts \u30b3\u30de\u30f3\u30c9\u304c\u4fbf\u5229\u3060\u3063\u305f\u306e\u3067\u7d39\u4ecb\uff0e
\n\n
\u901a\u5e38\u306eping\u306f\u3053\u3093\u306a\u611f\u3058
\n$ ping ::1\nPING ::1(::1) 56 data bytes\n64 bytes from ::1: icmp_seq=1 ttl=64 time=0.052 ms\n64 bytes from ::1: icmp_seq=2 ttl=64 time=0.051 ms\n64 bytes from ::1: icmp_seq=3 ttl=64 time=0.040 ms\n64 bytes from ::1: icmp_seq=4 ttl=64 time=0.049 ms\n^C\n--- ::1 ping statistics ---\n4 packets transmitted, 4 received, 0% packet loss, time 3067ms\nrtt min/avg/max/mdev = 0.040/0.048/0.052/0.004 ms\n
http(s) \u306e\u758e\u901a\u78ba\u8a8d\u306e\u51fa\u6765\u308b httping \u306b\u306f --timestamp/--ts \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u304c\u4ed8\u3051\u3089\u308c\u3066\u4fbf\u5229\u3067\u3059\uff0e
--timestamp or --ts\n Put a timestamp before the result-lines. Use -v to also show a date.\n
$ httping 192.168.1.1\nPING 192.168.1.1:80 (/):\nconnected to 192.168.1.1:80 (234 bytes), seq=0 time= 12.53 ms\nconnected to 192.168.1.1:80 (234 bytes), seq=1 time= 13.34 ms\nconnected to 192.168.1.1:80 (234 bytes), seq=2 time= 13.16 ms\n^CGot signal 2\n--- http://192.168.1.1/ ping statistics ---\n3 connects, 3 ok, 0.00% failed, time 2578ms\nround-trip min/avg/max = 12.5/13.0/13.3 ms\n$ httping --timestamp 192.168.1.1\nPING 192.168.1.1:80 (/):\n22:05:30.798 connected to 192.168.1.1:80 (172 bytes), seq=0 time= 14.99 ms\n22:05:31.813 connected to 192.168.1.1:80 (172 bytes), seq=1 time= 14.45 ms\n22:05:32.827 connected to 192.168.1.1:80 (172 bytes), seq=2 time= 13.28 ms\n^CGot signal 2\n--- http://192.168.1.1/ ping statistics ---\n3 connects, 3 ok, 0.00% failed, time 2658ms\nround-trip min/avg/max = 13.3/14.2/15.0 ms\n
ping \u30b3\u30de\u30f3\u30c9\u306eman \u306b\u306f\u305d\u308c\u3089\u3057\u3044\u3082\u306e\u306f\u898b\u5f53\u305f\u3089\u306a\u304b\u3063\u305f\u306e\u3067\uff0c\u3053\u3093\u306a\u611f\u3058\u3067 date \u30b3\u30de\u30f3\u30c9\u306e\u7d50\u679c\u3092\u7e4b\u3044\u3060\u308a\u3057\u3066\u3044\u307e\u3057\u305f\uff0e
$ ping ::1 | sed -s \"s/^/`date +%F\\ %T`\\t/\"\n2023-02-05 21:58:50 PING ::1(::1) 56 data bytes\n2023-02-05 21:58:50 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.068 ms\n2023-02-05 21:58:50 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.066 ms\n2023-02-05 21:58:50 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.042 ms\n^C\n
\u540c\u3058\u3088\u3046\u306a\u3053\u3068\u3092\u3057\u3066\u304f\u308c\u308b moreutils \u5185\u306e ts \u30b3\u30de\u30f3\u30c9\u304c\u3042\u308a\u307e\u3057\u305f\uff0e
ts: timestamp standard input
\n$ ping ::1 | ts\nFeb 05 22:01:20 PING ::1(::1) 56 data bytes\nFeb 05 22:01:20 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.121 ms\nFeb 05 22:01:21 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.118 ms\nFeb 05 22:01:22 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.115 ms\n^C\n
\u30d5\u30a9\u30fc\u30de\u30c3\u30c8( strftime(3) )\u3092\u6307\u5b9a\u3057\u3066\u81ea\u5206\u597d\u307f\u306b\u3082\uff0e
$ ping ::1 | ts -m \"%F %T\"\n2023-02-05 22:02:16 PING ::1(::1) 56 data bytes\n2023-02-05 22:02:16 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.038 ms\n2023-02-05 22:02:17 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.044 ms\n2023-02-05 22:02:18 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.066 ms\n^C\n
sed \u306a\u3069\u3067\u66f8\u304f\u3088\u308a\u826f\u3055\u305d\u3046\u3067\u3059\uff0e(moreutils\u306e\u5c0e\u5165\u304c\u5fc5\u8981\u3060\u3051\u3069)
\n$ dpkg-query -W iputils-ping moreutils httping\nhttping 2.5-5.2+b1\niputils-ping 3:20221126-1\nmoreutils 0.67-1\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
Debian \u3067 non-free-firmware \u3068\u3044\u3046\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u5897\u3048\u308b\u3053\u3068\u306b\u306a\u308a\uff0c\u5b9f\u969b\u306b\u79fb\u52d5\u3057\u59cb\u3081\u305f\u3068\u306e\u3053\u3068\u3067\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3057\u305f\uff0e
\n\n\n
/etc/apt/sources.list \u3092\u7de8\u96c6\u3057\u307e\u3059\uff0e\u76f4\u306b\u7de8\u96c6\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u307e\u3059\u304c\uff0c apt edit-sources \u3092\u4f7f\u3046\u3068\u4fdd\u5b58\u6642\u306b\u6587\u6cd5\u30c1\u30a7\u30c3\u30af\u3092\u3057\u3066\u304f\u308c\u308b\u306e\u3067\u304a\u3059\u3059\u3081\u3067\u3059\uff0e
$ sudo apt edit-source\n
$ sudo git -C /etc diff /etc/apt/sources.list\ndiff --git a/apt/sources.list b/apt/sources.list\nindex d9af843..11f6837 100644\n--- a/apt/sources.list\n+++ b/apt/sources.list\n@@ -2,8 +2,8 @@\n\n #deb cdrom:[Debian GNU/Linux testing _Bookworm_ - Official Snapshot amd64 DVD Binary-1 20220919-00:24]/ bookworm contrib main\n\n-deb http://deb.debian.org/debian/ bookworm main contrib non-free\n-deb-src http://deb.debian.org/debian/ bookworm main contrib non-free\n+deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware\n+deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware\n #deb http://security.debian.org/debian-security bookworm-security main contrib\n #deb-src http://security.debian.org/debian-security bookworm-security main contrib\n\n@@ -13,13 +13,13 @@ deb-src http://deb.debian.org/debian/ bookworm main contrib non-free\n # are provided as examples, but you should amend them as appropriate\n # for your mirror of choice.\n #\n-deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free\n-deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free\n+deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware\n+deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware\n\n # bookworm-backports, previously on backports.debian.org\n # A network mirror was not selected during install. The following entries\n # are provided as examples, but you should amend them as appropriate\n # for your mirror of choice.\n #\n-deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free\n-deb-src http://deb.debian.org/debian/ bookworm-backports main contrib non-free\n+deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware\n+deb-src http://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware\n
apt update \u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u66f4\u65b0\uff0c apt upgrade \u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6700\u65b0\u306b\u3057\u307e\u3059\uff0e
$ sudo apt update\n$ sudo apt upgrade\n
\u65e9\u901f non-free-firmware \u304b\u3089 firmware-iwlwifi \u304c\u964d\u3063\u3066\u304d\u307e\u3057\u305f\uff0e
\u53d6\u5f97:1 http://deb.debian.org/debian bookworm/non-free-firmware amd64 firmware-iwlwifi all 20221214-5 [20.5 MB]\n
\u4eca\u56de bookworm(testing) \u3067\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u304c\uff0csid(unstable) \u306e\u5834\u5408\u3082\u540c\u69d8\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n$ lsb_release -a\nDistributor ID:\tDebian\nDescription:\tDebian GNU/Linux bookworm/sid\nRelease:\tn/a\nCodename:\tbookworm\n$ dpkg-query -W apt dpkg\napt\t2.5.5\ndpkg\t1.21.19\n$ arch\nx86_64\n
non-free-firmware \u304c\u6709\u52b9\u306b\u306a\u3063\u305f Debian-Installer Bookworm Alpha 2 \u304c\u51fa\u305f\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\u306e\u8a2d\u5b9a\u3067\uff0c\u300cnon-free \u306e\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u3092\u4f7f\u7528\u3057\u307e\u3059\u304b?\u300d\u3067\u300c\u306f\u3044\u300d\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u3067\uff0c source.list \u306b non-free-firmware \u304c\u8a2d\u5b9a\u3055\u308c\u308b\u306e\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f\uff0e
\n
\u5148\u65e5\u306e\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2023.01 \u3067\u767a\u8868\u6642\u306bGoogle Chrome \u3092\u5229\u7528\u3057\u3066\u753b\u9762\u5171\u6709\u6642\u306bChrome \u306e\u30bf\u30d6\u3057\u304b\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\u30b9\u30e9\u30a4\u30c9\u306f.html \u3060\u3063\u305f(Asciidoctor Reveal.js)\u306e\u3067\u5927\u4e08\u592b\u3060\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u5225\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c7\u30e2\u3092\u5171\u6709\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n\u5148\u6708\u306f\u51fa\u6765\u3066\u3044\u305f\u306e\u306b\u306a\u305c\u3060\u308d\u3046\u3068\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\uff0e
\n
\u7d50\u679c\u304b\u3089\u8a00\u3046\u3068Wayland\u74b0\u5883\u3067\u306eGoogle Chrome \u306e\u30d0\u30b0\u306e\u3088\u3046\u3067\u3059\uff0e\u30ef\u30fc\u30af\u30a2\u30e9\u30a6\u30f3\u30c9\u3068\u3057\u3066 chrome://flags \u3067 \u300cWebRTC PipeWire support\u300d\u3068\u3044\u3046\u9805\u76ee( chrome://flags/#enable-webrtc-pipewire-capturer )\u3092\u300cEnabled\u300d\u306b\u8a2d\u5b9a\u5909\u66f4\u3057\u3066\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3092\u518d\u8d77\u52d5\u3059\u308b\u3053\u3068\u3067\u753b\u9762\u5171\u6709\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u3053\u306e\u9805\u76ee\u306f\u30d0\u30b0\u304c\u76f4\u3063\u305f\u3089\u65e2\u5b9a\u5024\u306b\u306a\u308b\u3088\u3046\u3067\u3059\uff0e
\nWebRTC PipeWire support
\nWhen enabled the WebRTC will use the PipeWire multimedia server for capturing the desktop content on the Wayland display server.
\u306a\u304a\uff0cChromium, Brave \u3082\u540c\u69d8\u3067\u3057\u305f\uff0eFirefox \u306b\u3064\u3044\u3066\u306f\u898f\u5b9a\u5024\u306e\u307e\u307e\u3067\u300c\u5358\u4e00\u306e\u30a6\u30a4\u30f3\u30c9\u30a6\u300d\u300c\u753b\u9762\u5168\u4f53\u300d\u306e\u5171\u6709\u304c\u53ef\u80fd\u3067\u3057\u305f\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067Wayland\u74b0\u5883\u306e\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067\u753b\u9762\u5171\u6709\u3092\u3057\u305f\u3044\u5834\u5408\u306fFirefox\u3092\u4f7f\u3046\u306e\u304c\u697d\u305d\u3046\u3067\u3059\uff0e
Wayland\u56f0\u308b\u3053\u3068\u304c\u5c11\u306a\u304f\u306a\u3063\u305f\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u307e\u3060\u307d\u3064\u307d\u3064\u3053\u308c\u51fa\u6765\u306a\u3044\u306e\u304b\u3068\u3044\u3046\u3053\u3068\u306b\u5f15\u3063\u304b\u304b\u308a\u307e\u3059\u306d><
\n$ dpkg-query -W google-chrome-stable chromium brave-browser firefox-esr\nbrave-browser 1.47.171\nchromium 109.0.5414.74-2\nfirefox-esr 102.6.0esr-1\ngoogle-chrome-stable 109.0.5414.74-1\n$ lsb_release -a\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
PlayOnLinux\u3068\u3044\u3046Wine\u306e\u30e9\u30c3\u30d1\u30fc\u304c\u6709\u308a\u307e\u3059\uff0e\u3053\u308c\u3092\u8d77\u52d5\u3059\u308b\u3068\u30ea\u30b9\u30c8\u3092\u30ea\u30e2\u30fc\u30c8\u304b\u3089\u8aad\u307f\u8fbc\u3080\u306f\u305a\u306a\u306e\u3067\u3059\u304c\uff0c\u8aad\u307f\u8fbc\u307f\u4e2d\u306e\u307e\u307e\u9032\u307e\u306a\u3044\u3068\u3044\u3046\u8a71\u3092\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2023.01 \u3067\u805e\u304d\u307e\u3057\u305f\uff0e\u624b\u5143\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
Debian bookworm testing amd64 \u74b0\u5883\u3067 apt install playonlinux \u3068\u3057\u3066\u5c0e\u5165\u3057\u3066\u8d77\u52d5\u3059\u308b\u3068\u78ba\u304b\u306b\u8aad\u307f\u8fbc\u307f\u4e2d\u304b\u3089\u5148\u306b\u9032\u307f\u307e\u305b\u3093\uff0e
\u4ee5\u4e0b\u306e\u8a18\u4e8b\u306b\u3088\u308b\u3068\u65e5\u672c\u8a9e\u306e\u7ffb\u8a33\u30df\u30b9\u304c\u539f\u56e0\u306e\u3088\u3046\u3067\u3059\uff0e(\u4ee5\u524d\u306e\u74b0\u5883\u3067\u306f en_US.UTF-8 \u74b0\u5883\u3060\u3063\u305f\u308a\u3082\u3057\u305f\u306e\u3067\u52d5\u3044\u3066\u3044\u305f\u306e\u304b\u306a?)
\n\u3053\u306e\u30da\u30fc\u30b8\u3092\u771f\u4f3c\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63\u3057\u3066PlayOnLinux \u3092\u8d77\u52d5\u3057\u76f4\u3059\u3068\u8aad\u307f\u8fbc\u307f\u304c\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n$ msgunfmt /usr/share/locale/ja/LC_MESSAGES/pol.mo -o /tmp/pol.po (1)\n$ vi /tmp/pol.po (2)\n$ diff -u /tmp/pol.po.org /tmp/pol.po (3)\n--- /tmp/pol.po.org 2023-01-24 04:45:59.897079913 +0900\n+++ /tmp/pol.po 2023-01-24 06:46:07.853063925 +0900\n@@ -494,7 +494,7 @@\n msgstr \"\u66f4\u65b0\"\n\n msgid \"Refreshing {0}\"\n-msgstr \"{0 }\u3092\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u4e2d\"\n+msgstr \"{0}\u3092\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u4e2d\"\n\n msgid \"Registry Editor\"\n msgstr \"\u30ec\u30b8\u30b9\u30c8\u30ea\u30a8\u30c7\u30a3\u30bf\"\n$ msgfmt /tmp/pol.po -o /tmp/pol.mo (4)\n$ sudo mv /tmp/pol.mo /usr/share/locale/ja/LC_MESSAGES/pol.mo (5)\n\u3057\u304b\u3057PlayOnLinux\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3067\u4e0a\u66f8\u304d\u3055\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u306d\u2026\u2026\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u5927\u672c\u304c\u3069\u3046\u306a\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e
\nPlayOnLinux\u306e\u7ffb\u8a33\u3092\u78ba\u8a8d\u3059\u308b\u3068launchpad\u3067\u7ffb\u8a33\u3057\u3066\u3044\u308b\u3088\u3046\u3067\uff0c\u8a72\u5f53\u90e8\u5206\u3092\u78ba\u8a8d\u3059\u308b\u3068Current Japanese\u306f\u9593\u9055\u3063\u305f\u307e\u307e\uff0eSuggestions\u306b\u4fee\u6b63\u304c\u6765\u3066\u3044\u305f(2017\u5e74!)\u306e\u3067Review\u3057\u3066\u304a\u304d\u307e\u3057\u305f\uff0e
\n\u3053\u308c\u3067\u305d\u306e\u3046\u3061\u53d6\u308a\u8fbc\u307e\u308c\u308b\u304b\u306a?
\n\u3068\u308a\u3042\u3048\u305a\u4ee5\u4e0b\u304b\u3089\u76f4\u3063\u305f .mo \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u308b\u306f\u305a\u306a\u306e\u3067\uff0c\u305d\u308c\u3092 /usr/share/locale/ja/LC_MESSAGES/pol.mo \u306b\u4e0a\u66f8\u304d\u3067\u3082\u76f4\u308b\u3068\u601d\u3044\u307e\u3059\uff0e
$ dpkg-query -W playonlinux gettext\ngettext 0.21-10\nplayonlinux 4.3.4-3\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
\u65e5\u66dc\u65e5\u306e\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2023.01 \u3067Gnome 42\u306e\u81ea\u52d5\u30ed\u30b0\u30a4\u30f3\u74b0\u5883\u3067\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u6a5f\u80fd\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u6bce\u56de\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3044\u30d8\u30c3\u30c9\u30ec\u30b9\u3067\u4f7f\u3044\u305f\u3044\u306e\u306b\u30ea\u30e2\u30fc\u30c8\u30ed\u30b0\u30a4\u30f3\u306e\u305f\u3081\u306b\u306f\u753b\u9762\u3092\u78ba\u8a8d\u3057\u306a\u3044\u3068\u3044\u3051\u306a\u304f\u3066\u4e0d\u4fbf\u3068\u3044\u3046\u8a71\u3092\u805e\u3044\u305f\u306e\u3067\u5c11\u3057\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u305f\u3060\u3057\u74b0\u5883\u306f\u5c11\u3057\u9055\u3063\u3066Gnome 43\u3067\u3059\uff0e
\n
\u300c\u8a2d\u5b9a\u300d\u2192\u300c\u5171\u6709\u300d\u2192 \u300c\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u300d\u3067\u300c\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u300d\u3068\u300c\u30ea\u30e2\u30fc\u30c8\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u300d\u3092\u6709\u52b9\u306b\u3057\u3066\u8a8d\u8a3c\u306e\u300c\u30d1\u30b9\u30ef\u30fc\u30c9\u300d\u3092\u5909\u66f4\u3059\u308b\u304b\u8a18\u9332\u3057\u3066\u304a\u304d\u307e\u3059\uff0e
\n| \n Tip \n | \n\n\u300c\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u300d\u306e\u9805\u76ee\u304c\u306a\u3044\u5834\u5408\uff0cDebian \u3067\u306f gnome-remote-desktop \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308c\u3070\u51fa\u3066\u304f\u308b\u3068\u601d\u3044\u307e\u3059\uff0e | \n
\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3067\u624b\u52d5\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308b\u30ed\u30b0\u30a4\u30f3\u3092\u884c\u3044\uff0c\u8a2d\u5b9a\u3092\u78ba\u8a8d\u3059\u308b\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5909\u308f\u3089\u305a\u30ed\u30b0\u30a4\u30f3\u3082\u51fa\u6765\u307e\u3059\uff0e
\n\u300c\u8a2d\u5b9a\u300d\u2192\u300c\u30e6\u30fc\u30b6\u30fc\u300d\u3067\u300c\u30ed\u30c3\u30af\u89e3\u9664\u300d\u3092\u884c\u3044\uff0c\u300c\u81ea\u52d5\u30ed\u30b0\u30a4\u30f3\u300d\u3092\u6709\u52b9\u306b\u3057\u3066\u518d\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\uff0e
\n\u81ea\u52d5\u30ed\u30b0\u30a4\u30f3\u5f8c\u8a2d\u5b9a\u3092\u78ba\u8a8d\u3059\u308b\u3068\u65b0\u3057\u3044\u30e9\u30f3\u30c0\u30e0\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\uff0e
\n\u73fe\u8c61\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\uff0e
\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u898b\u308b\u3068Gnome\u306e\u30ad\u30fc\u30ea\u30f3\u30b0\u306f\u65e2\u5b9a\u5024\u3067\u306f\u30ed\u30b0\u30a4\u30f3\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u540c\u4e00\u3067\u30ed\u30b0\u30a4\u30f3\u6642\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u5165\u529b\u3067\u4e00\u7dd2\u306b\u89e3\u9664\u3055\u308c\uff0c\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\uff0e\u81ea\u52d5\u30ed\u30b0\u30a4\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3053\u306e\u30de\u30b9\u30bf\u30fc\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u89e3\u9664\u304c\u81ea\u52d5\u3067\u884c\u308f\u308c\u305a\uff0c\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u308f\u304b\u3089\u305a\u30e9\u30f3\u30c0\u30e0\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u3044\u3046\u611f\u3058\u306e\u3088\u3046\u3067\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067\u30ef\u30fc\u30af\u30a2\u30e9\u30a6\u30f3\u30c9\u3068\u3057\u3066\uff0c\u300c\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u9375\u300d(Seahorse)\u3067\u30de\u30b9\u30bf\u30fc\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u300c\u300d(NULL) \u306b\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u30ed\u30b0\u30a4\u30f3\u3067\u3082\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u52dd\u624b\u306b\u5909\u308f\u3089\u306a\u304f\u306a\u308a\u307e\u3057\u305f\uff0e
\n\u3057\u304b\u3057\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7684\u306b\u30a4\u30de\u30a4\u30c1\u306a\u306e\u3067Gnome\u306e\u30ea\u30e2\u30fc\u30c8\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306f\u4f7f\u308f\u305ax11vnc(Wayland\u3060\u3068\u5229\u7528\u4e0d\u53ef)\u3084xrdp\u3067\u5229\u7528\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u307b\u3046\u304c\u3044\u3044\u6c17\u304c\u3057\u307e\u3059\uff0e
\n$ dpkg-query -W gnome-shell gnome-remote-desktop seahorse remmina\ngnome-remote-desktop 43.3-1\ngnome-shell 43.2-1\nremmina 1.4.27+dfsg-2+b1\nseahorse 43.0-1\n$ lsb_release -a\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
\u5404\u7a2e\u30d5\u30a1\u30a4\u30eb\u5909\u63db\u3092\u3057\u3066\u304f\u308c\u308bPandoc \u304c\u4e45\u3005\u306b\u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u3057\u3066 3.0 \u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n\u624b\u5143\u306e\u7aef\u672b\u306b\u5165\u308c\u3066\u5c11\u3057\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
$ sudo apt remove pandoc pandoc-data\n
$ wget https://github.com/jgm/pandoc/releases/download/3.0/pandoc-3.0-1-amd64.deb\n$ sudo apt install ./pandoc-3.0-1-amd64.deb\n$ $ apt show pandoc -a\nPackage: pandoc\nVersion: 3.0-1\nStatus: install ok installed\nPriority: optional\nSection: text\nMaintainer: John MacFarlane <jgm@berkeley.edu>\nInstalled-Size: 129 MB\nDepends: libc6 (>= 2.13), libgmp10, zlib1g (>= 1:1.1.4)\nSuggests: texlive-latex-recommended, texlive-xetex, texlive-fonts-recommended\nReplaces: pandoc-data\nDownload-Size: \u4e0d\u660e\nAPT-Manual-Installed: yes\nAPT-Sources: /var/lib/dpkg/status\nDescription: general markup converter\n Pandoc is a Haskell library for converting from one markup format\n to another, and a command-line tool that uses this library. The\n formats it can handle include light markup formats (many variants\n of Markdown, reStructuredText, AsciiDoc, Org-mode, Muse, Textile,\n txt2tags), HTML formats (HTML 4 and 5), ebook formats (EPUB v2\n and v3, FB2), Documentation formats (GNU TexInfo, Haddock),\n Roff formats (man, ms), TeX formats (LaTeX, ConTeXt), XML\n formats (DocBook 4 and 5, JATS, TEI Simple, OpenDocument),\n outline formats (OPML), bibliography formats (BibTeX, BibLaTeX,\n CSL JSON, CSL YAML, RIS), word processor formats (Docx, RTF,\n ODT), interactive notebook formats (Jupyter notebook\n ipynb), page layout formats (InDesign ICML), wiki markup\n formats (MediaWiki, DokuWiki, TikiWiki, TWiki, Vimwiki,\n XWiki, ZimWiki, Jira wiki, Creole), slide show formats\n (LaTeX Beamer, PowerPoint, Slidy, reveal.js, Slideous, S5,\n DZSlides), data formats (CSV and TSV tables), and PDF (via\n external programs such as pdflatex or wkhtmltopdf).\n\nPackage: pandoc\nVersion: 2.17.1.1-1.1\nPriority: optional\nSection: text\nMaintainer: Debian Haskell Group <debian-haskell@lists.debian.org>\nInstalled-Size: 172 MB\nProvides: pandoc-abi (= 1.22.2.1-1)\nDepends: libc6 (>= 2.34), libffi8 (>= 3.4), libgmp10 (>= 2:6.2.1+dfsg1), liblua5.3-0, libyaml-0-2, zlib1g (>= 1:1.1.4), pandoc-data (>= 2.17.1.1-1.1), pandoc-data (<< 2.17.1.1-1.1.~)\nSuggests: texlive-latex-recommended, texlive-xetex, texlive-luatex, pandoc-citeproc, texlive-latex-extra, context, wkhtmltopdf, librsvg2-bin, groff, ghc, nodejs, php, perl, python, ruby, r-base-core, libjs-mathjax, libjs-katex, citation-style-language-styles\nHomepage: https://pandoc.org/\nTag: devel::doc, implemented-in::haskell, interface::commandline,\n role::documentation, role::program, use::converting,\n works-with-format::bib, works-with-format::docbook,\n works-with-format::html, works-with-format::json,\n works-with-format::man, works-with-format::odf,\n works-with-format::plaintext, works-with-format::tex,\n works-with-format::xml, works-with::text\nDownload-Size: 21.3 MB\nAPT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages\nDescription: general markup converter\n Pandoc is a Haskell library for converting\n from one markup format to another,\n and a command-line tool that uses this library.\n The formats it can handle include\n * light markup formats\n (many variants of Markdown, reStructuredText, AsciiDoc,\n Org-mode, Muse, Textile, txt2tags)\n * HTML formats (HTML 4 and 5)\n * Ebook formats (EPUB v2 and v3, FB2)\n * Documentation formats (GNU TexInfo, Haddock)\n * Roff formats (man, ms)\n * TeX formats (LaTeX, ConTeXt)\n * XML formats\n (DocBook 4 and 5, JATS, TEI Simple, OpenDocument)\n * Outline formats (OPML)\n * Bibliography formats (BibTeX, BibLaTeX, CSL JSON, CSL YAML)\n * Word processor formats (Docx, RTF, ODT)\n * Interactive notebook formats (Jupyter notebook ipynb)\n * Page layout formats (InDesign ICML)\n * Wiki markup formats\n (MediaWiki, DokuWiki, TikiWiki, TWiki,\n Vimwiki, XWiki, ZimWiki, Jira wiki, Creole)\n * Slide show formats\n (LaTeX Beamer, PowerPoint, Slidy,\n reveal.js, Slideous, S5, DZSlides)\n * Data formats (CSV tables)\n * PDF (via external programs such as pdflatex or wkhtmltopdf)\n .\n Pandoc can convert mathematical content in documents\n between TeX, MathML, Word equations, roff eqn, and plain text.\n It includes a powerful system\n for automatic citations and bibliographies,\n and it can be customized extensively using templates, filters,\n and custom readers and writers written in Lua.\n .\n This package contains the pandoc tool.\n .\n Some uses of Pandoc require additional packages:\n * SVG content in PDF output requires librsvg2-bin.\n * YAML metadata in TeX-related output requires texlive-latex-extra.\n * *.hs filters not set executable requires ghc.\n * *.js filters not set executable requires nodejs.\n * *.php filters not set executable requires php.\n * *.pl filters not set executable requires perl.\n * *.py filters not set executable requires python.\n * *.rb filters not set executable requires ruby.\n * *.r filters not set executable requires r-base-core.\n * LaTeX output, and PDF output via PDFLaTeX,\n require texlive-latex-recommended.\n * XeLaTeX output, and PDF output via XeLaTeX, require texlive-xetex.\n * LuaTeX output, and PDF output via LuaTeX, require texlive-luatex.\n * ConTeXt output, and PDF output via ConTeXt, require context.\n * PDF output via wkhtmltopdf requires wkhtmltopdf.\n * Roff man and roff ms output, and PDF output via roff ms,\n require groff.\n * MathJax-rendered equations require libjs-mathjax.\n * KaTeX-rendered equations require node-katex.\n * option --csl may use styles in citation-style-language-styles.\n$ dpkg -L pandoc\n/.\n/usr\n/usr/bin\n/usr/bin/pandoc\n/usr/share\n/usr/share/doc\n/usr/share/doc/pandoc\n/usr/share/doc/pandoc/copyright\n/usr/share/man\n/usr/share/man/man1\n/usr/share/man/man1/pandoc-lua.1.gz\n/usr/share/man/man1/pandoc-server.1.gz\n/usr/share/man/man1/pandoc.1.gz\n/usr/bin/pandoc-lua\n/usr/bin/pandoc-server\n$ pandoc-server -v\npandoc-server 3.0\nFeatures: +server +lua\nScripting engine: Lua 5.4\nUser data directory: /home/matoken/.local/share/pandoc\nCopyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org\nThis is free software; see the source for copying conditions. There is no\nwarranty, not even for merchantability or fitness for a particular purpose.\n$ ls -l /bin/pandoc*\n-rwxr-xr-x 1 root root 128885952 1\u6708 19 06:00 /bin/pandoc\nlrwxrwxrwx 1 root root 6 1\u6708 19 06:00 /bin/pandoc-lua -> pandoc\nlrwxrwxrwx 1 root root 6 1\u6708 19 06:00 /bin/pandoc-server -> pandoc\n
$ pandoc --list-input-formats | wc -l\n42\n$ pandoc --list-output-formats | wc -l\n63\n
Pandoc Server \u3092\u5c11\u3057\u8a66\u3059
\n$ pandoc-server\nStarting server on port 3030...\n
$ http http://localhost:3030/version\nHTTP/1.1 200 OK\nContent-Type: text/plain;charset=utf-8\nDate: Fri, 20 Jan 2023 13:24:51 GMT\nServer: Warp/3.3.23\nTransfer-Encoding: chunked\n\n3.0\n
$ http POST http://localhost:3030/ text=:+1: from=markdown+emoji to=html4 Accept:text/plain\nHTTP/1.1 200 OK\nContent-Type: text/plain;charset=utf-8\nDate: Fri, 20 Jan 2023 20:40:17 GMT\nServer: Warp/3.3.23\nTransfer-Encoding: chunked\n\n<p><span class=\"emoji\" data-emoji=\"+1\">👍</span></p>\n
$ head ~/src/tilck/README.md (1)\n<p align=\"center\">\n <img src=\"http://vvaltchev.github.io/tilck_imgs/v2/tilck-logo-v5.png\" alt=\"Tilck - A Tiny Linux-Compatible Kernel\">\n</p>\n\n[](https://vkvaltchev.visualstudio.com/Tilck/_build/latest?definitionId=1&branchName=master)\n[](https://codecov.io/gh/vvaltchev/tilck)\n[](https://opensource.org/licenses/BSD-2-Clause)\n\n<a href=\"https://youtu.be/Ce1pMlZO_mI\">\n <img\n$ http POST http://localhost:3030/ text=@~/src/tilck/README.md from=markdown+emoji to=html4 Accept:text/plain | head (2)\n<p align=\"center\">\n<img src=\"http://vvaltchev.github.io/tilck_imgs/v2/tilck-logo-v5.png\" alt=\"Tilck - A Tiny Linux-Compatible Kernel\">\n</p>\n<p><a\nhref=\"https://vkvaltchev.visualstudio.com/Tilck/_build/latest?definitionId=1&branchName=master\"><img\nsrc=\"https://vkvaltchev.visualstudio.com/Tilck/_apis/build/status/Tilck?branchName=master\"\nalt=\"Build Status\" /></a> <a\nhref=\"https://codecov.io/gh/vvaltchev/tilck\"><img\nsrc=\"https://codecov.io/gh/vvaltchev/tilck/branch/master/graph/badge.svg\"\nalt=\"codecov\" /></a> <a\n$ http POST http://localhost:3030/ text=@~/src/tilck/README.md from=markdown+emoji to=html4 Accept:text/plain | w3m -T text/html -dump | head (3)\n Tilck - A Tiny Linux-Compatible Kernel\n\nBuild Status codecov License\n\nTilck\n\nContents\n\n \u2022 Overview\n \u25a1 What is Tilck?\n
$ dpkg-query -W pandoc httpie w3m\nhttpie 3.2.1-1\npandoc 3.0-1\nw3m 0.5.3+git20220429-1+b1\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64\n
\u4e2d\u53e4\u3067\u30e2\u30d0\u30a4\u30eb\u30eb\u30fc\u30bf\u306eFUJISOFT F030W \u3068\u30af\u30ec\u30fc\u30c9\u30eb(RJ45)\u4ed8\u304d\u30923.5k\u3067\u5165\u624b\u3057\u307e\u3057\u305f\uff0e\u8a2d\u5b9a\u30e1\u30e2\u3067\u3059\uff0e(\u4f55\u6c17\u306b\u521d\u3081\u3066\u306e\u30e2\u30d0\u30a4\u30eb\u30eb\u30fc\u30bf\u3067\u3059)
\n\n
| \n Note \n | \n\n\u521d\u671f\u30d1\u30b9\u30ef\u30fc\u30c9\u306f admin | \n
| \n Note \n | \n\n\u30d0\u30c3\u30c6\u30ea\u30fc40%\u4ee5\u4e0a\u7121\u3044\u3068\u51e6\u7406\u304c\u59cb\u307e\u3089\u306a\u3044\uff0eFS030W_V4.0.0 99.7MB \u306b\u306a\u3063\u305f | \n
| \n Note \n | \n\n\u30aa\u30d5\u30e9\u30a4\u30f3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306f\u73fe\u5728site\u304b\u3089FW\u304c\u5165\u624b\u3067\u304d\u306a\u3044? | \n
| \n Note \n | \n\n\u30af\u30ec\u30fc\u30c9\u30eb\u3067\u81ea\u5b85\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306a\u3069\u306b\u7e4b\u3044\u3067AP\u30e2\u30fc\u30c9\u306b\u3059\u308b\u3068\u30d1\u30b1\u30c3\u30c8\u3092\u6d88\u8cbb\u305b\u305a\u306b\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u3067\u304d\u305d\u3046(\u672a\u78ba\u8a8d) | \n
| \n Note \n | \n\n\u30b9\u30ea\u30fc\u30d7\u89e3\u9664\u306f\u672c\u4f53\u30dc\u30bf\u30f3 | \n
| \n Note \n | \n\n\u96fb\u6e90off\u6642\u306b\u7d66\u96fb\u3059\u308b\u3068100%\u307e\u3067\u5145\u96fb\u3055\u308c\u308b | \n
[68082.524110] usb 1-6: reset high-speed USB device number 3 using xhci_hcd\n[72490.758736] usb 1-1: new high-speed USB device number 12 using xhci_hcd\n[72490.927081] usb 1-1: New USB device found, idVendor=1c9e, idProduct=f133, bcdDevice= 2.32\n[72490.927103] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[72490.927112] usb 1-1: Product: USB Modem\n[72490.927119] usb 1-1: Manufacturer: USB Modem\n[72490.982273] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, 86:ca:ce:1e:2d:37\n[72491.697333] rndis_host 1-1:1.0 enx86cace1e2d37: renamed from usb0\n
| \n Note \n | \n\n \n \nLinux 2.6.27 – 6.1 drivers/net/usb/rndis_host.c \n | \n
$ lsusb -d 1c9e:f133\nBus 001 Device 012: ID 1c9e:f133 OMEGA TECHNOLOGY USB Modem\n
| \n Tip \n | \n\n\u30af\u30ec\u30fc\u30c9\u30eb\u7d4c\u7531\u306eUSB\u63a5\u7d9a\u3060\u3068\u304a\u305d\u3089\u304f\u7d66\u96fb\u306e\u307f | \n
| \n Note \n | \n\n\u540c\u3058VID/PID\u3067\u5225\u306e\u88fd\u54c1\u3082\u3042\u308b\u3088\u3046 | \n
$ ip addr show dev enx86cace1e2d37\n11: enx86cace1e2d37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000\n link/ether 86:ca:ce:1e:2d:37 brd ff:ff:ff:ff:ff:ff\n inet 192.168.100.24/24 brd 192.168.100.255 scope global dynamic noprefixroute enx86cace1e2d37\n valid_lft 86123sec preferred_lft 86123sec\n inet6 2400:2200:3f5:3810:2962:d045:ab7b:b1a2/64 scope global temporary dynamic\n valid_lft 86358sec preferred_lft 14358sec\n inet6 2400:2200:3f5:3810:84ca:ceff:fe1e:2d37/64 scope global dynamic mngtmpaddr noprefixroute\n valid_lft 86358sec preferred_lft 14358sec\n inet6 fe80::84ca:ceff:fe1e:2d37/64 scope link noprefixroute\n valid_lft forever preferred_lft forever\n
$ sudo nmap -AO 192.168.100.1\nStarting Nmap 7.92 ( https://nmap.org ) at 2023-01-14 04:41 JST\nNmap scan report for FS030W.lan (192.168.100.1)\nHost is up (0.0020s latency).\nNot shown: 998 closed tcp ports (reset)\nPORT STATE SERVICE VERSION\n53/tcp open domain dnsmasq 2.68\n| dns-nsid:\n|_ bind.version: dnsmasq-2.68\n80/tcp open http?\n|_http-title: Site doesn't have a title (text/html).\nMAC Address: 00:23:B1:94:98:53 (Longcheer Technology (Singapore) Pte)\nDevice type: general purpose\nRunning: Linux 3.X|4.X\nOS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4\nOS details: Linux 3.10 - 4.11\nNetwork Distance: 1 hop\n\nTRACEROUTE\nHOP RTT ADDRESS\n1 1.97 ms FS030W.lan (192.168.100.1)\n\nOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .\nNmap done: 1 IP address (1 host up) scanned in 97.71 seconds\n
| \n Tip \n | \n\n \n \nLinux 3.19 \u3092\u4f7f\u3063\u3066\u3044\u308b\u3088\u3046 | \n
\u8a2d\u5b9a\u81ea\u4f53\u306fWeb\u306b\u98db\u3070\u3055\u308c\u308b\uff0e
\nAndroid\u30a2\u30d7\u30ea\u3067\u3057\u304b\u4f7f\u3048\u306a\u3044\u6a5f\u80fd\u306f\u306a\u3044?
\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u4e2d\u56fd\u8a9e\u306b\u306a\u3063\u305f\u308a\u3082\u3057\u305f\uff0e
\n\u30a2\u30d7\u30ea\u306e\u66f4\u65b0\u3082\u9577\u3089\u304f\u7121\u3044\u3088\u3046\u3060\u3057(\u6700\u7d42\u66f4\u65b0\u65e5 2020/07/06)\u5165\u308c\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\uff0e
\n| \n Note \n | \n\niOS\u30a2\u30d7\u30ea\u3082\u3042\u308b\u3088\u3046\u3060\u304c\u672a\u78ba\u8a8d | \n
\u30d0\u30c3\u30c6\u30ea\u30fc\u3092\u5916\u3057\u305f\u72b6\u614b\u3067\u7d66\u96fb\u3059\u308b\u3053\u3068\u3067\u666e\u901a\u306b\u4f7f\u3048\u305d\u3046\uff0e
\nNotePC(Panasonic CF-SZ6)\u3084\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u3067\u52d5\u4f5c\u3059\u308b\u306e\u3092\u78ba\u8a8d\uff0e
| \n Tip \n | \n\n\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306f\u30d0\u30c3\u30c6\u30ea\u30fc40%\u4ee5\u4e0a\u304c\u5fc5\u8981\u306a\u306e\u3067\u4e0d\u53ef\u3060\u3063\u305f\uff0e | \n
\u5bcc\u58eb\u30bd\u30d5\u30c8\u3068\u3044\u3046\u3053\u3068\u3067\u56fd\u5185\u958b\u767a\u304b\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cOEM(OMEGA TECHNOLOGY)\u306e\u3088\u3046\u3067\u5c11\u3057\u6b8b\u5ff5\uff0e
\n\u540c\u3058\u304f\u3089\u3044\u306e\u5024\u6bb5\u306e NEC Aterm MR04LN \u306e\u65b9\u304c\u826f\u304b\u3063\u305f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(\u30c7\u30e5\u30a2\u30ebSIM\u3060\u3057)
\u6700\u8fd1\u306e\u30b9\u30e9\u30a4\u30c9\u306f Asciidoc \u3067\u66f8\u3044\u3066\uff0cReveal.js \u306ehtml \u306b\u5909\u63db\u3057\u3066\u767a\u8868\uff0c\u305d\u306ehtml \u3092Chrome \u306eheadless \u30e2\u30fc\u30c9\u3067PDF \u306b\u5909\u63db\u3057\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u3053\u3051\u308c\u3092\u884c\u3063\u3066\u3044\u305f\u7aef\u672b\u3092\u5909\u66f4\u3057\u305f\u305b\u3044\u304b\u3053\u308c\u304c\u3046\u307e\u304f\u3044\u304b\u306a\u304f\u306a\u308a\u307e\u3057\u305f\uff0e
\n
\u5f15\u6570\u306f\u3053\u3093\u306a\u611f\u3058\u3067
\n chromium --user-data-dir=$TMPDIR --headless --disable-gpu --print-to-pdf=\"${PDF}\" \"$URL?print-pdf\"; \\\n\u51fa\u529b\u3055\u308c\u308bPDF\u306fCSS\u304c\u8db3\u308a\u306a\u3044\u3088\u3046\u306a\u3082\u306e\u3084\uff0c\u771f\u3063\u767d\u306a\u3082\u306e\u306b\u306a\u308a\u307e\u3059\uff0e
\n
\n
make \u304b\u3089\u547c\u3093\u3067\u3044\u308b\u306e\u3067\u624b\u52d5\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u5b9f\u884c\u3057\u3066\u3082\u540c\u3058\uff0c --headless \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u524a\u3063\u3066\u624b\u52d5\u3067 Ctrl + p \u3067PDF \u51fa\u529b\u3059\u308c\u3070\u554f\u984c\u306a\u304f\u51fa\u529b\u3055\u308c\u307e\u3059\uff0e
Firefox \u306b\u306fPDF \u51fa\u529b\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u753b\u50cf\u51fa\u529b\u304c\u3067\u304d\u308b\u306e\u3067\u753b\u50cf\u66f8\u304d\u51fa\u3057\u3092\u3057\u3066\u307f\u308b\u3068\u6c42\u3081\u308b\u7d50\u679c\u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n$ firefox --screenshot /tmp/page.png --window-size=1280 \"file:///`pwd`/slide.html#print-pdf\"\n
\u5404\u30da\u30fc\u30b8\u3092\u3053\u308c\u3067\u753b\u50cf\u306b\u51fa\u529b\u3057\u3066\u7d50\u5408\u3057\u3066PDF\u306b\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u304c\uff0c\u6587\u5b57\u60c5\u5831\u304c\u6d88\u3048\u3066\u3057\u307e\u3044\u307e\u3059\u2026\u2026\uff0e
\nwkhtmltopdf \u3082\u8a66\u3059\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b3\u30de\u30f3\u30c9\u3067\u8fd1\u3044\u3082\u306e\u304c\u51fa\u6765\u307e\u3059\u304c\u30b5\u30a4\u30ba\u3084\u4f59\u767d\uff0c\u30d5\u30a9\u30f3\u30c8\u304c\u9055\u3044\u307e\u3059\uff0e\u3082\u3046\u5c11\u3057\u9811\u5f35\u308c\u3070\u826f\u304f\u51fa\u6765\u305d\u3046?
$ wkhtmltopdf --enable-local-file-access --orientation Landscape --page-size B5 --margin-top 0 --margin-bottom 0 --margin-right 0 --margin-left 0 \"file://`pwd`/slide/slide.html?print-pdf\" /tmp/slide.pdf\n
\u691c\u7d22\u3057\u3066\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e
\n\u3053\u3061\u3089\u3092\u53c2\u8003\u306bChromium \u306b --run-all-compositor-stages-before-draw \u3068 --virtual-time-budget \u3092\u6307\u5b9a\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u66f8\u304d\u51fa\u305b\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e --virtual-time-budget \u306e\u5024\u306b\u3064\u3044\u3066\u306f\u74b0\u5883\u306b\u3088\u308a\u5909\u3048\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e
$ chromium --headless --run-all-compositor-stages-before-draw --virtual-time-budget=9999999 --print-to-pdf=/tmp/slide.pdf file://`pwd`/slide/slide.html?print-pdf\n
Makefile \u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u66f4\uff0e
\n- chromium --user-data-dir=$TMPDIR --headless --disable-gpu --print-to-pdf=\"${PDF}\" \"$URL?print-pdf\"; \\\n+ chromium --user-data-dir=$TMPDIR --headless --run-all-compositor-stages-before-draw --virtual-time-budget=999999 --print-to-pdf=\"${PDF}\" \"$URL?print-pdf\"; \\\n\u66f8\u304d\u51fa\u305b\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)
\n$ dpkg-query -W chromium firefox-esr wkhtmltopdf\nchromium 107.0.5304.110-2\nfirefox-esr 102.5.0esr-1\nwkhtmltopdf 0.12.6-2+b1\n$ lsb_release -dc\nNo LSB modules are available.\nDescription: Debian GNU/Linux bookworm/sid\nCodename: bookworm\n$ arch\nx86_64\n
Linux\u3067RAM\u306e\u5c11\u306a\u3044\u72b6\u614b\u306e\u30c6\u30b9\u30c8\u3092\u3057\u305f\u3044\u306a\u3068\u601d\u3063\u3066\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u30e1\u30e2\u30ea\u5236\u9650\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u7269\u7406RAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5236\u9650\u3057\u305f\u3044\u5bb9\u91cf\u306b\u523a\u3057\u76f4\u3059\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u90fd\u5408\u306e\u826f\u3044\u30b5\u30a4\u30ba\u306eRAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\uff0eLinux\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u5236\u9650\u3067\u304d\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\nLinux\u30de\u30b7\u30f3\u3092\u8d77\u52d5\u3057\u3066\uff0cGRUB\u306e\u30e1\u30cb\u30e5\u30fc\u3067\u7de8\u96c6\u3057\u305f\u3044\u30a8\u30f3\u30c8\u30ea\u3092\u77e2\u5370\u4e0a\u4e0b\u30ad\u30fc\u3067\u9078\u629e\u3057\u3066\uff0c e \u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u7de8\u96c6\u30e1\u30cb\u30e5\u30fc\u306b\u5165\u308a\u307e\u3059\uff0e
\nlinux /vmlinuz\u301c \u3068\u3044\u3063\u305f\u884c\u306b\u79fb\u52d5\u3057\u3066\u672b\u5c3e\u306b\u8ffd\u52a0\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u8a18\u3057\u307e\u3059\uff0e\u4eca\u56de\u306f\u30e1\u30e2\u30ea\u30922GB\u306b\u5236\u9650\u3057\u305f\u3044\u306e\u3067\uff0c mem=2048m \u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e(\u5b9f\u30e1\u30e2\u30ea\u4ee5\u4e0a\u306b\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u304c\u305d\u3053\u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u3068\u304d\u306b\u30af\u30e9\u30c3\u30b7\u30e5\u3057\u305d\u3046\u3067\u3059\u306d)
linux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root rolinux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root ro mem=2048mCtrl + x \u3092\u62bc\u3057\u3066\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8d77\u52d5\u3057\u307e\u3059\uff0e
\u8d77\u52d5\u3057\u305f\u3089\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e
\n$ cat /proc/cmdline (1)\nBOOT_IMAGE=/vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga--260--vg-root ro mem=2048m\n$ head -1 /proc/meminfo (2)\nMemTotal: 2032968 kB\n$ free (3)\n total used free shared buff/cache available\nMem: 2032968 1575032 70032 161360 387904 139588\nSwap: 0 0 0\n2GB\u306b\u5236\u9650\u3067\u304d\u305f\u3088\u3046\u3067\u3059 :)
\n\u8a73\u7d30\u306fKernel\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092
\nmem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory\n Amount of memory to be used in cases as follows:\n\n 1 for test;\n 2 when the kernel is not able to see the whole system memory;\n 3 memory that lies after 'mem=' boundary is excluded from\n the hypervisor, then assigned to KVM guests.\n\n [X86] Work as limiting max address. Use together\n with memmap= to avoid physical address space collisions.\n Without memmap= PCI devices could be placed at addresses\n belonging to unused RAM.\n\n Note that this only takes effects during boot time since\n in above case 3, memory may need be hot added after boot\n if system memory of hypervisor is not sufficient.\n
\u4eca\u56de\u306e\u624b\u9806\u306f\u30a2\u30c9\u30db\u30c3\u30af\u306a\u624b\u9806\u3067\u518d\u8d77\u52d5\u3059\u308c\u3070\u5143\u306b\u623b\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3082\u3057\u6c38\u7d9a\u5316\u3057\u305f\u3044\u306e\u3067\u3042\u308c\u3070\uff0c grub.cfg \u3092\u66f8\u304d\u63db\u3048\u308c\u3070OK\u306a\u306f\u305a\u3067\u3059\uff0e\u4eca\u56de\u306eDebian Bullseye \u306e\u5834\u5408\u306f\uff0c /etc/grub.d/10_linux \u3092\u7de8\u96c6\u3057\u3066 sudo update-grub2 \u306e\u5b9f\u884c\u3067 /boot/grub/grub.cfg \u304c\u66f4\u65b0\u3055\u308c\u307e\u3059\uff0e
$ dpkg-query -W grub2* linux-image-`uname -r` procps\ngrub2\ngrub2-common 2.04-19\nlinux-image-5.13.2-mptcp+le9 5.13.2-mptcp+le9-3\nprocps 2:3.3.17-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\nacpid\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u3059\u3079\u3066\u30ed\u30b0\u306b\u51fa\u529b\u3067\u304d\u308b\u3088\u3046\u8a2d\u5b9a\u3057\u307e\u3057\u305f\uff0e
\n\u3057\u304b\u3057\u3061\u3087\u3063\u3068\u5197\u9577\u3067\u3059\uff0eAC\u30a2\u30c0\u30d7\u30bf\u306e\u72b6\u6cc1\u3060\u3051\u3092\u30ed\u30ae\u30f3\u30b0\u3059\u308b\u3088\u3046\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
\u307e\u305aAC\u30a2\u30c0\u30d7\u30bf\u306e\u629c\u304d\u5dee\u3057\u6642\u306e\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e
\nJul 11 23:05:51 yoga-260 acpid: completed netlink event \"ac_adapter ACPI0003:00 00000080 00000000\"\nJul 11 23:05:55 yoga-260 acpid: received netlink event \"ac_adapter ACPI0003:00 00000080 00000001\"\nman\u306eEXAMPLE \u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e
\n\n\n\n\nEXAMPLE
\n
\nThis example will shut down your system if you press the power button.\n\n\n\nCreate a file named /etc/acpi/events/power that contains the following:\n\n\n\n\nevent=button/power\naction=/etc/acpi/power.sh \"%e\"\n\n\n\n\nThen create a file named /etc/acpi/power.sh that contains the following:\n\n\n\n\n/sbin/shutdown -h now \"Power button pressed\"\n\n\n\n\nNow, when acpid is running, a press of the power button will cause the rule in /etc/acpi/events/power to trigger the script in\n/etc/acpi/power.sh. The script will then shut down the system.\n
\u3053\u306eEXAMPLE\u3092\u771f\u4f3c\u3057\u3066\u3053\u3093\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\uff0eacpid\u304b\u3089 ac_adapter \u306e\u30a4\u30d9\u30f3\u30c8\u5b9f\u884c\u6642\u306baction \u306b\u6307\u5b9a\u3055\u308c\u305fscript \u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\uff0e
event=ac_adapter\naction=/etc/acpi/ac_event_logging.sh %e\n\u305d\u3057\u3066\u547c\u3073\u51fa\u3055\u308c\u308bscript \u3068\u3057\u3066\u4ee5\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\uff0e
\n#!/bin/sh\ncase \"$4\" in\n 00000000)\n echo 'AC offline'\n logger -t acpid AC offline\n ;;\n 00000001)\n echo 'AC online'\n logger -t acpid AC online\n ;;\nesac\n\u3053\u306escript\u306b\u306f\u5b9f\u884c\u6a29\u3082\u4ed8\u4e0e\u3057\u307e\u3059\uff0e
\n$ sudo chmod +x /etc/acpi/ac_event_logging.sh\n\u52d5\u4f5c\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b acpid \u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\uff0e
\n$ sudo service acpid restart\n\u3053\u306e\u72b6\u614b\u3067AC\u30a2\u30c0\u30d7\u30bf\u3092\u629c\u304d\u5dee\u3057\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u306e\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\uff0e
\n$ sudo tail -f /var/log/syslog | grep acpid:Jul 11 23:51:10 yoga-260 acpid: received netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 23:51:10 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:10 yoga-260 acpid: completed netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 23:51:10 yoga-260 acpid: received netlink event \"ac_adapter ACPI0003:00 00000080 00000000\" (1)\nJul 11 23:51:10 yoga-260 acpid: rule from /etc/acpi/events/ac_event_logging matched (2)\nJul 11 23:51:10 yoga-260 acpid: executing action \"/etc/acpi/ac_event_logging.sh ac_adapter ACPI0003:00 00000080 00000000\" (3)\nJul 11 23:51:10 yoga-260 acpid: AC offline (4)\nJul 11 23:51:10 yoga-260 acpid: action exited with status 0 (5)\nJul 11 23:51:10 yoga-260 acpid: 1 total rule matched\nJul 11 23:51:10 yoga-260 acpid: completed netlink event \"ac_adapter ACPI0003:00 00000080 00000000\"\nJul 11 23:51:11 yoga-260 acpid: received netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 23:51:11 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:11 yoga-260 acpid: completed netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 23:51:11 yoga-260 acpid: received netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 23:51:11 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:11 yoga-260 acpid: completed netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 23:51:12 yoga-260 acpid: received netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 23:51:12 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:12 yoga-260 acpid: completed netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 23:51:13 yoga-260 acpid: received netlink event \"ac_adapter ACPI0003:00 00000080 00000001\"\nJul 11 23:51:13 yoga-260 acpid: rule from /etc/acpi/events/ac_event_logging matched\nJul 11 23:51:13 yoga-260 acpid: executing action \"/etc/acpi/ac_event_logging.sh ac_adapter ACPI0003:00 00000080 00000001\"\nJul 11 23:51:13 yoga-260 acpid: AC online\nJul 11 23:51:13 yoga-260 acpid: action exited with status 0\nJul 11 23:51:13 yoga-260 acpid: 1 total rule matched\nJul 11 23:51:13 yoga-260 acpid: completed netlink event \"ac_adapter ACPI0003:00 00000080 00000001\"\nJul 11 23:51:13 yoga-260 acpid: received netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 23:51:13 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:13 yoga-260 acpid: completed netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 23:51:13 yoga-260 acpid: received netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 23:51:13 yoga-260 acpid: 0 total rules matched\nJul 11 23:51:13 yoga-260 acpid: completed netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\n\u3046\u307e\u304f\u884c\u3063\u305f\u3088\u3046\u3067\u3059 :)
\n\u3068\u3044\u3046\u3053\u3068\u3067\u4ed6\u306e\u30a4\u30d9\u30f3\u30c8\u30ed\u30b0\u3092\u8981\u3089\u306a\u3044\u306e\u3067\uff0c /etc/default/acpid \u3092\u7de8\u96c6\u3057\u3066\u5f15\u6570\u3092\u6d88\u3057\u307e\u3059\uff0e
--- a/default/acpid\n+++ b/default/acpid\n@@ -1,7 +1,7 @@\n # Options to pass to acpid\n #\n # OPTIONS are appended to the acpid command-line\n-OPTIONS=\"-l\"\n+#OPTIONS=\"-l\"\n\n # Linux kernel modules to load before starting acpid\n #\n
\u53cd\u6620\u3059\u308b\u305f\u3081\u306b acpid \u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\uff0e
\n$ sudo service acpid restart\n$ ps aux | grep [/]sbin/acpid\nroot 3990040 0.0 0.0 2352 780 ? Ss 23:59 0:00 /usr/sbin/acpid\n\u518d\u5ea6\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089AC\u30a2\u30c0\u30d7\u30bf\u306e\u629c\u304d\u5dee\u3057\u3092\u3057\u3066\u30ed\u30b0\u304c\u5fc5\u8981\u306a\u3082\u306e\u3060\u3051\u51fa\u529b\u3055\u308c\u3066\u3044\u308b\u306e\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f\uff0e
\nsudo tail -f /var/log/syslog | grep acpid:Jul 12 00:00:04 yoga-260 acpid: AC offline\nJul 12 00:00:07 yoga-260 acpid: AC online\n
\u826f\u3055\u305d\u3046\u3067\u3059 :)
\n\u30b5\u30b9\u30da\u30f3\u30c9\u30ec\u30b8\u30e5\u30fc\u30e0\u3082\u8a2d\u5b9a\u3057\u3066\u307f\u3088\u3046\u304b\u306a?
$ dpkg-query -W acpid rsyslog systemd bsdutils\nacpid 1:2.0.32-1\nbsdutils 1:2.36.1-7\nrsyslog 8.2102.0-2\nsystemd 247.3-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\n$ sudo lshw | grep -E '^\\ \\ \\ \\ product:|^\\ \\ \\ \\ version:'\n product: 20FEA02WJP (LENOVO_MT_20FE_BU_Think_FM_ThinkPad Yoga 260)\n version: ThinkPad Yoga 260\nThinkPad\u306e\u96fb\u6e90\u30d7\u30e9\u30b0\u306eOn/Off\u3067\u4ee5\u524d\u306f\u30a4\u30d9\u30f3\u30c8\u304clog\u306b\u6b8b\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u96fb\u6e90\u7ba1\u7406\u30c7\u30fc\u30e2\u30f3\u304c\u52d5\u3044\u3066\u3044\u3066\u96fb\u6e90\u306e\u72b6\u614b\u304c\u53d6\u5f97\u3067\u304d\u308b\u72b6\u614b\u3067\u3082\u3044\u3064\u306e\u9803\u304b\u3089\u304b\u8a18\u9332\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\uff0e\u505c\u96fb\u3057\u305f\u6642\u9593\u304c\u308f\u304b\u3063\u3066\u4fbf\u5229\u3060\u3063\u305f\u306e\u3067\u30ed\u30b0\u671f\u8a18\u9332\u3067\u304d\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
acpitool \u3067\u96fb\u6e90\u30a2\u30c0\u30d7\u30bf\u306e\u72b6\u614b\u3092\u53d6\u5f97$ acpitool | grep AC\n AC adapter : online\n$ acpitool | grep AC\n AC adapter : off-line\nThinkPad\u306eFAN\u3092\u5236\u5fa1\u3059\u308b\u65b9\u6cd5\u3092\u8abf\u3079\u3066\u601d\u3044\u51fa\u3057\u305f\u306e\u3067acpid\u306eman\u3084\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u3068\uff0c -l, --logevents \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3046\u3068\u3059\u3079\u3066\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u30ed\u30b0\u306b\u51fa\u529b\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u3067\u3059\uff0e
$ /sbin/acpid -h 2>&1 | grep '\\-l,'\n -l, --logevents Log all event activity.\n$ man acpid | grep -i logevents -A1\n -l, --logevents\n This option tells acpid to log information about all events and actions.\n/etc/default/acpid \u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u3066\uff0cacpid \u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u306b -l \u3092\u8ffd\u52a0\u3057\u307e\u3059\uff0e
diff --git a/default/acpid b/default/acpid\nindex c651a78..a6a7add 100644\n--- a/default/acpid\n+++ b/default/acpid\n@@ -1,7 +1,7 @@\n # Options to pass to acpid\n #\n # OPTIONS are appended to the acpid command-line\n-#OPTIONS=\"\"\n+OPTIONS=\"-l\"\n\n # Linux kernel modules to load before starting acpid\n #\nacpid \u3092\u518d\u8d77\u52d5\u3057\u3066\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3064\u3044\u3066\u3044\u308b\u306e\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e
\n$ sudo service acpid restart\n$ sudo service acpid status\n\u25cf acpid.service - ACPI event daemon\n Loaded: loaded (/lib/systemd/system/acpid.service; disabled; vendor preset: enabled)\n Active: active (running) since Sun 2021-07-11 05:57:54 JST; 44s ago\nTriggeredBy: \u25cf acpid.socket\n \u25cf acpid.path\n Docs: man:acpid(8)\n Main PID: 2830732 (acpid)\n Tasks: 1 (limit: 9336)\n Memory: 288.0K\n CPU: 6ms\n CGroup: /system.slice/acpid.service\n \u2514\u25002830732 /usr/sbin/acpid -l\n\nJul 11 05:57:54 yoga-260 systemd[1]: Started ACPI event daemon.\nJul 11 05:57:54 yoga-260 acpid[2830732]: starting up with netlink and the input layer\nJul 11 05:57:54 yoga-260 acpid[2830732]: 1 rule loaded\nJul 11 05:57:54 yoga-260 acpid[2830732]: waiting for events: event logging is on\n$ ps aux | grep [/]sbin/acpid\nroot 2830732 0.0 0.0 2352 684 ? Ss 05:57 0:00 /usr/sbin/acpid -l\nacpid \u306b -l \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u3064\u3044\u3066\u3044\u308b\u72b6\u614b\u3067syslog\u3092tail\u3057\u306a\u304c\u3089\u96fb\u6e90\u3092\u629c\u304d\u5dee\u3057\u3057\u3066\u307f\u308b\u3068\u5c11\u3057\u53ef\u8aad\u6027\u304c\u60aa\u3044\u3067\u3059\u304c\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u308b\u306e\u304c\u308f\u304b\u308a\u307e\u3057\u305f\uff0e
$ sudo tail -f /var/log/syslog | grep acpid:\nJul 11 05:59:22 yoga-260 acpid: received netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 05:59:22 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:22 yoga-260 acpid: completed netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 05:59:23 yoga-260 acpid: received netlink event \"ac_adapter ACPI0003:00 00000080 00000000\"\nJul 11 05:59:23 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:23 yoga-260 acpid: completed netlink event \"ac_adapter ACPI0003:00 00000080 00000000\"\nJul 11 05:59:23 yoga-260 acpid: received netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 05:59:23 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:23 yoga-260 acpid: completed netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 05:59:23 yoga-260 acpid: received netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 05:59:23 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:23 yoga-260 acpid: completed netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 05:59:26 yoga-260 acpid: received netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 05:59:26 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:26 yoga-260 acpid: completed netlink event \"battery PNP0C0A:00 00000080 00000001\"\nJul 11 05:59:26 yoga-260 acpid: received netlink event \"ac_adapter ACPI0003:00 00000080 00000001\"\nJul 11 05:59:26 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:26 yoga-260 acpid: completed netlink event \"ac_adapter ACPI0003:00 00000080 00000001\"\nJul 11 05:59:26 yoga-260 acpid: received netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 05:59:26 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:26 yoga-260 acpid: completed netlink event \"ibm/hotkey LEN0068:00 00000080 00006030\"\nJul 11 05:59:26 yoga-260 acpid: received netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\nJul 11 05:59:26 yoga-260 acpid: 0 total rules matched\nJul 11 05:59:26 yoga-260 acpid: completed netlink event \"thermal_zone LNXTHERM:00 00000081 00000000\"\n\u3059\u3079\u3066\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u51fa\u529b\u3055\u308c\u308b\u306e\u3067\uff0c\u30dc\u30ea\u30e5\u30fc\u30e0\u3084\uff0c\u8f1d\u5ea6\u306e\u8abf\u6574\u3067\u3082\u3053\u306e\u3088\u3046\u306b\u66f8\u304d\u51fa\u3055\u308c\u307e\u3059\uff0e
\nJul 11 06:01:12 t430s acpid: received input layer event \"button/volumeup VOLUP 00000080 00000000 K\"\nJul 11 06:01:12 t430s acpid: rule from 1840013[0:0] matched\nJul 11 06:01:12 t430s acpid: notifying client 1840013[0:0]\nJul 11 06:01:12 t430s acpid: 1 total rule matched\nJul 11 06:01:12 t430s acpid: completed input layer event \"button/volumeup VOLUP 00000080 00000000 K\"\nJul 11 06:01:13 t430s acpid: received input layer event \"button/volumedown VOLDN 00000080 00000000 K\"\nJul 11 06:01:13 t430s acpid: rule from 1840013[0:0] matched\nJul 11 06:01:13 t430s acpid: notifying client 1840013[0:0]\nJul 11 06:01:13 t430s acpid: 1 total rule matched\nJul 11 06:01:13 t430s acpid: completed input layer event \"button/volumedown VOLDN 00000080 00000000 K\"\nJul 11 06:01:16 t430s acpid: received input layer event \"video/brightnessdown BRTDN 00000087 00000000 K\"\nJul 11 06:01:16 t430s acpid: rule from 1840013[0:0] matched\nJul 11 06:01:16 t430s acpid: notifying client 1840013[0:0]\nJul 11 06:01:16 t430s acpid: 1 total rule matched\nJul 11 06:01:16 t430s acpid: completed input layer event \"video/brightnessdown BRTDN 00000087 00000000 K\"\nJul 11 06:01:16 t430s acpid: received input layer event \"video/brightnessup BRTUP 00000086 00000000 K\"\nJul 11 06:01:16 t430s acpid: rule from 1840013[0:0] matched\nJul 11 06:01:16 t430s acpid: notifying client 1840013[0:0]\nJul 11 06:01:16 t430s acpid: 1 total rule matched\nJul 11 06:01:16 t430s acpid: completed input layer event \"video/brightnessup BRTUP 00000086 00000000 K\"\n\u4ee5\u524d\u3088\u308a\u30ed\u30b0\u304c\u5197\u9577\u3067\u53ef\u8aad\u6027\u304c\u60aa\u3044\u3067\u3059\u304c\u3068\u308a\u3042\u3048\u305a\u52d5\u4f5c\u3057\u307e\u3057\u305f\uff0e\u3053\u308c\u3067\u505c\u96fb\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u505c\u96fb\u767a\u751f\u6642\u9593\u3084\uff0c\u77ed\u3044\u505c\u96fb\u3067\u3042\u308c\u3070\u505c\u96fb\u9593\u9694\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e
\n$ dpkg-query -W acpid rsyslog systemd\nacpid 1:2.0.32-1\nrsyslog 8.2102.0-2\nsystemd 247.3-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\n$ sudo lshw | grep -E '^\\ \\ \\ \\ product:|^\\ \\ \\ \\ version:'\n product: 23533KJ (LENOVO_MT_2353)\n version: ThinkPad T430s\n$ dpkg-query -W acpid rsyslog systemd\nacpid 1:2.0.32-1\nrsyslog 8.2102.0-2\nsystemd 247.3-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\n$ sudo lshw | grep -E '^\\ \\ \\ \\ product:|^\\ \\ \\ \\ version:'\n product: 20FEA02WJP (LENOVO_MT_20FE_BU_Think_FM_ThinkPad Yoga 260)\n version: ThinkPad Yoga 260\n\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u901f\u5ea6\u8a08\u6e2c\u30b5\u30a4\u30c8\u306eSpeedtest.net \u3068\u3044\u3046\u30b5\u30a4\u30c8\u304c\u3042\u308a\u307e\u3059\uff0e
\n\u4e16\u754c\u4e2d\u306b\u3042\u308b\u30b5\u30fc\u30d0\u306e\u3046\u3061\u81ea\u5206\u306e\u30a2\u30c9\u30ec\u30b9\u304b\u3089\u8fd1\u3044\u3067\u3042\u308d\u3046\u30b5\u30fc\u30d0\u3092\u9078\u3093\u3067\u901f\u5ea6\u8a08\u6e2c\u3092\u3057\u3066\u304f\u308c\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3059\uff0e
\n\n
\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u3092cli \u3067\u5b9f\u884c\u3067\u304d\u308bPython\u88fd speedtest-cli \u3068\u3044\u3046Apache 2.0\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30c4\u30fc\u30eb\u304c\u3042\u308a\u307e\u3059\uff0eDebian\u3060\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u3082\u3042\u308b\u306e\u3067\u5c0e\u5165\u3082\u7c21\u5358\u3067\u3059\uff0e
\n$ sudo apt install speedtest-cli\n$ speedtest-cli -h\nusage: speedtest-cli [-h] [--no-download] [--no-upload] [--single] [--bytes] [--share] [--simple] [--csv] [--csv-delimiter CSV_DELIMITER]\n [--csv-header] [--json] [--list] [--server SERVER] [--exclude EXCLUDE] [--mini MINI] [--source SOURCE] [--timeout TIMEOUT]\n [--secure] [--no-pre-allocate] [--version]\n\nCommand line interface for testing internet bandwidth using speedtest.net.\n-------------------------------------------------------------------------- https://github.com/sivel/speedtest-cli\n\noptional arguments:\n -h, --help show this help message and exit\n --no-download Do not perform download test\n --no-upload Do not perform upload test\n --single Only use a single connection instead of multiple. This simulates a typical file transfer.\n --bytes Display values in bytes instead of bits. Does not affect the image generated by --share, nor output from --json or\n --csv\n --share Generate and provide a URL to the speedtest.net share results image, not displayed with --csv\n --simple Suppress verbose output, only show basic information\n --csv Suppress verbose output, only show basic information in CSV format. Speeds listed in bit/s and not affected by --bytes\n --csv-delimiter CSV_DELIMITER\n Single character delimiter to use in CSV output. Default \",\"\n --csv-header Print CSV headers\n --json Suppress verbose output, only show basic information in JSON format. Speeds listed in bit/s and not affected by --bytes\n --list Display a list of speedtest.net servers sorted by distance\n --server SERVER Specify a server ID to test against. Can be supplied multiple times\n --exclude EXCLUDE Exclude a server from selection. Can be supplied multiple times\n --mini MINI URL of the Speedtest Mini server\n --source SOURCE Source IP address to bind to\n --timeout TIMEOUT HTTP timeout in seconds. Default 10\n --secure Use HTTPS instead of HTTP when communicating with speedtest.net operated servers\n --no-pre-allocate Do not pre allocate upload data. Pre allocation is enabled by default to improve upload performance. To support systems\n with insufficient memory, use this option to avoid a MemoryError\n --version Show the version number and exit\nmatoken@t430s:/media/matoken/rootfs/home/matoken/Videos$\n\u51fa\u529b\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\uff0ccsv\u3084json\u3067\u66f8\u304d\u51fa\u3059\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\uff0e
\n$ speedtest-cli (1)\nRetrieving speedtest.net configuration...\nTesting from freebit (203.0.113.0)...\nRetrieving speedtest.net server list...\nSelecting best server based on ping...\nHosted by OpenGW (Shizuoka) [64.23 km]: 82.301 ms\nTesting download speed................................................................................\nDownload: 1.51 Mbit/s\nTesting upload speed......................................................................................................\nUpload: 0.95 Mbit/s\n$ speedtest-cli --simple (2)\nPing: 68.211 ms\nDownload: 8.11 Mbit/s\nUpload: 0.84 Mbit/s\n$ speedtest-cli --list | grep -i japan | grep -Ei 'kagoshima|miyazaki|kumamoto|ooita|fukuoka|saga|hitoyoshi' (3)\n 8407) Allied Telesis Capital Corporation (Sagamihara, Japan) [175.03 km]\n35106) yoshis.jp (KDDI-NET) (Fukuoka, Japan) [687.23 km]\n38134) NousagiNetwork(@_0rze) (Fukuoka, Japan) [687.23 km]\n38947) Rikimoto (Fukuoka, Japan) [687.23 km]\n18709) extride inc (Hitoyoshi, Japan) [705.48 km]\n$ speedtest-cli --simple --server 18709 (4)\nPing: 122.31 ms\nDownload: 6.01 Mbit/s\nUpload: 0.81 Mbit/s\n$ speedtest-cli --csv-header (5)\nServer ID,Sponsor,Server Name,Timestamp,Distance,Ping,Download,Upload,Share,IP Address\n$ speedtest-cli --csv (6)\n42842,Mamireimu Net Work's,Nara,2021-06-23T09:15:44.814808Z,177.32698372902544,86.096,8215354.331324884,1350756.2707027544,,203.0.113.0\n$ speedtest-cli --json | jq . (7)\n{\n \"download\": 7961762.454176666,\n \"upload\": 1054738.8634894243,\n \"ping\": 73.207,\n \"server\": {\n \"url\": \"http://speedtestooklaserverjapannagoyashizuoka.baobivawpvojawvianoipwqnpibvbqoubwuvbqasciboabowbcacacwcqcqx001.bar:8080/speedtest/upload.php\",\n \"lat\": \"34.9756\",\n \"lon\": \"138.3827\",\n \"name\": \"Shizuoka\",\n \"country\": \"Japan\",\n \"cc\": \"JP\",\n \"sponsor\": \"OpenGW\",\n \"id\": \"42413\",\n \"host\": \"speedtestooklaserverjapannagoyashizuoka.baobivawpvojawvianoipwqnpibvbqoubwuvbqasciboabowbcacacwcqcqx001.bar:8080\",\n \"d\": 64.2282382602239,\n \"latency\": 73.207\n },\n \"timestamp\": \"2021-06-23T09:19:28.880310Z\",\n \"bytes_sent\": 1515520,\n \"bytes_received\": 10101900,\n \"share\": null,\n \"client\": {\n \"ip\": \"203.0.113.0\",\n \"lat\": \"34.733\",\n \"lon\": \"137.7439\",\n \"isp\": \"freebit\",\n \"isprating\": \"3.7\",\n \"rating\": \"0\",\n \"ispdlavg\": \"0\",\n \"ispulavg\": \"0\",\n \"loggedin\": \"0\",\n \"country\": \"JP\"\n }\n}\n\u3053\u308c\u3092crontab\u306b\u8a2d\u5b9a\u3057\u3066\u5b9a\u671f\u7684\u306b\u5b9f\u884c\u3057\uff0c\u901f\u5ea6\u306e\u5909\u5316\u3092\u898b\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3057\u305f\uff0e
\ncrontab\u306b */30 * * * * speedtest-cli --csv >> ~/log/speedtest.csv \u3092\u8a2d\u5b9a\u3057\u306630\u5206\u6bce\u306b\u901f\u5ea6\u30c6\u30b9\u30c8\u3092\u3057\u3066 ~/log/speedtest.csv \u306b\u66f8\u304d\u51fa\u3057\u3066\u307f\u307e\u3059\uff0e
$ mkdir ~/log (1)\n$ speedtest-cli --csv-header > ~/log/speedtest.csv (2)\n$ crontab -e (3)\n$ crontab -l | grep speedtest-cli (4)\n*/30 * * * * speedtest-cli --csv >> ~/log/speedtest.csv\ncrontab -e \u3067\u4ee5\u4e0b\u306e\u884c\u3092\u8ffd\u52a0\u3057\u304b\u3057\uff0c\u624b\u52d5\u3067\u5b9f\u884c\u6642\u306b\u306f\u5931\u6557\u3057\u305f\u9803\u304c\u306a\u3044\u306e\u306bcrontab \u7d4c\u7531\u3060\u3068\u307b\u307c\u5168\u3066\u304c\u5931\u6557\u3057\u307e\u3059\uff0e\u307e\u308c\u306b\u6210\u529f\u3059\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u304c\uff0c10\u56de\u306b1\u56de\u3082\u6210\u529f\u3057\u307e\u305b\u3093\uff0e
\n\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\uff0e
\nERROR: Unable to connect to servers to test latency.\n
crontab\u3067\u3060\u3051\u30a8\u30e9\u30fc\u3068\u306a\u308b\u306e\u3067\uff0c\u30b3\u30de\u30f3\u30c9\u3092shell script file\u306b\u3057\u3066\u305d\u308c\u3092\u547c\u3076\u3088\u3046\u306b\u3057\u305f\u308a\uff0c\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u65b9\u6cd5\u3092\u5909\u66f4\u3057\u3066\u307f\u305f\u308a\uff0csource\u3092\u898b\u308b\u3068\u30b5\u30fc\u30d0\u30ea\u30b9\u30c8\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u30b5\u30fc\u30d0\u3092\u6307\u5b9a\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u305f\u3051\u3069\u30b5\u30fc\u30d0\u3092\u6307\u5b9a\u3057\u3066\u3082\u30b5\u30fc\u30d0\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3059\u308b\u306e\u3067\u610f\u5473\u304c\u306a\u304b\u3063\u305f\u308a\u3068\u3044\u3046\u3053\u3068\u3092\u8a66\u3057\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u3082\u3057\u304b\u3057\u3066\u6bce0\u5206\uff0c30\u5206\u306e\u5b9f\u884c\u3059\u308b\u306e\u304c\u826f\u304f\u306a\u3044\u306e\u3067\u306f\u3068\uff0ccrontab\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u30666\u5206\u306836\u5206\u306b\u5b9f\u884c\u3055\u308c\u308b\u3088\u3046\u5909\u66f4\u305f\u3068\u3053\u308d\u308d\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n$ crontab -l | grep speedtest-cli (1)\n6,36 * * * * speedtest-cli --csv >> ~/log/speedtest.csv\n\u624b\u52d5\u3067\u30820\u5206\u4e01\u5ea6\u306b\u5b9f\u884c\u3059\u308b\u3068\u30a8\u30e9\u30fc\u306b\u306a\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f\uff0e
\n$ speedtest-cli\nRetrieving speedtest.net configuration...\nTesting from freebit (180.131.110.140)...\nRetrieving speedtest.net server list...\nSelecting best server based on ping...\nERROR: Unable to connect to servers to test latency.\n
\u3068\u3044\u3046\u3053\u3068\u3067\u3068\u308a\u3042\u3048\u305a\u304d\u308a\u306e\u3044\u3044\u6642\u9593\u304b\u3089\u305a\u3089\u3059\u3068\u52d5\u304f\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n\u5b9f\u306fSpeedTest\u516c\u5f0f\u306eCLI \u30c4\u30fc\u30eb\u3082\u3042\u308a\u3053\u308c\u3060\u3068\u4eca\u56de\u306e\u554f\u984c\u306f\u8d77\u3053\u3089\u306a\u3044\u3088\u3046\u3067\u3059\uff0e
\n\u30d0\u30a4\u30ca\u30ea\u3057\u304b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\uff0cmacOS/Windows/Linux/FreeBSD\u7248\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u3066\uff0cLinux\u306fi386, x86_64, armlf, armhf, arm64 \u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e
\u3053\u3061\u3089\u3092\u4f7f\u3046\u3068\u6bce0\u5206\uff0c30\u5206\u306b\u5b9f\u884c\u3057\u3066\u3082\u52d5\u4f5c\u3057\u307e\u3057\u305f\uff0e csv, tsv, json, jsonl, json-pretty` \u3067\u306e\u51fa\u529b\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3057\u3053\u3061\u3089\u3092\u4f7f\u3046\u306e\u3082\u3042\u308a\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u305f\u3060source\u3082\u7121\u3044\u30572019\u5e74\u306e\u30ea\u30ea\u30fc\u30b9\u304b\u3089\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u4e0a\u304c\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u308b\u306e\u304b\u3061\u3087\u3063\u3068\u4e0d\u5b89\u3067\u3059\uff0e
\n$ dpkg-query -W speedtest-cli\nspeedtest-cli 2.1.3-2\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\n