Ubuntu 18.04で経験した現象ですが、無線LANは接続できるのに、有線LANで接続しようとすると、
「デバイスは管理されていません」”device not managed” と出てしまって接続できないことがあります。
こんな感じです。
ネットを探してみるといろいろな情報が出てきますが、日本語の情報だと、「PCにあったドライバをインストールする」という情報が多いです。
しかし、これは汎用的ではありません。もっと根本的な解決法がほしいと思いました。
Ubuntu 18.04で経験した現象ですが、無線LANは接続できるのに、有線LANで接続しようとすると、
「デバイスは管理されていません」”device not managed” と出てしまって接続できないことがあります。
こんな感じです。
ネットを探してみるといろいろな情報が出てきますが、日本語の情報だと、「PCにあったドライバをインストールする」という情報が多いです。
しかし、これは汎用的ではありません。もっと根本的な解決法がほしいと思いました。
LinuxホストからVirtualBoxのextnesion packを削除するには、以下のコマンドです。
$ sudo vboxmanage extpack uninstall "Oracle VM VirtualBox Extension Pack"
なお、GUIからは、
ファイル→環境設定→機能拡張 から削除できます。
備忘録までに。
現在、Lin4Neuro 18.04版を開発しており、仮想マシン版は公開できているのですが、iso版はまだ公開できていません。
リマスタリングに苦労しております。
もし、WorkstationにLin4Neuroを構築したい場合、Ubuntuから公開されている mini.iso を利用することで、
(比較的容易に)構築することができます。
以下、方法を示します。なお、スクリーンショットはVirtualBoxを用いて作成したものです。
仮想マシンで試されてから実機に応用していただけたらと思います。
なお、実機の場合、ネットワークは最初は無線LANは自動で認識しませんので、有線LANでネットワークに接続してください。
(2018.12.05 満席となりました)
脳画像解析を行っていくうえで、コマンドラインに慣れることは必須です。
しかし、コマンドラインを習得するよいテキストはなかなかありません。
このため、脳画像解析を行ううえで有用なコマンドラインを習得するための勉強会を企画しました。
最近、bash における sort の使い方について学ぶ機会がありましたので記載します。(下地先生、ご指導ありがとうございます!)
学んでいく中で、manpagesの日本語訳についてもちょっと思うところがありましたので、それも踏まえて述べていきます。
現在、Lin4NeuroはVirtualBox上で動作する仮想マシンを配布するようになりました。Macで仮想マシンをどう使うか以下に記します。
MacでVirtualBoxを動作させるには、MacOS10.8(Mountain Lion)以降である必要があります。バージョンが古い方は、まずOSのアップグレードを行ってください。
注意点としては、MacOS 10.13(High Sierra)からセキュリティがこれまで以上に厳しくなりました。本ガイドでは、OS10.13で検証しています。セキュリティに気をつけるところは説明していますが、OS10.12(Sierra)以前では表示されない画面もありますので、ご了承ください。
現在、Lin4NeuroはVirtualBox上で動作する仮想マシンを配布するようになりました。仮想マシンでの使用方法を以下に記します。
Lin4Neuro (L4N)は、isoイメージファイルおよびVirtualBoxの仮想アプライアンスを配布しています。
ここでは、isoイメージファイルを用いてVirtualBoxにL4Nをインストールする方法を解説します。
この方法は若干だけ手間がかかりますが、以下のメリットがあります。
これが一番大きいメリットかと思われます。
ご自身で設定できます。
具体的な方法を以下に示します。Acknowledgmentとして、我々の研究室の山田典子さんが以下を準備してくださいました。
VirtualBoxのインストールまでは済んでいるものとして話をすすめます。なお、この方法では、VirtualBox Extension Packは不要です。
自分が頻回に遭遇するエラーなので、備忘録として載せておきます。
Ubuntuでカーネルをアップデートすると、VirtualBoxを起動するときに、以下のエラーが出ます。
このエラーがでたときに、このまま
sudo /sbin/vboxconfig
としてもエラーが出て解決しません。(細かいエラーを保存し忘れました)
解決方法はシンプルで、新しいカーネルにあったカーネルヘッダーをインストールすることです。
以下に具体的な解決法を示します。
$ uname -r 4.15.0-22-generic
今の場合、4.15.0-22-generic であることがわかります
上記を賢く使ってインストールします。
$ sudo apt update $ sudo apt install linux-headers-$(uname -r)
これでカーネルヘッダーがインストールされます
$ sudo /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: Starting VirtualBox services.
これで無事にVirtualBoxの仮想マシンが起動するようになります。
VirtualBox上にUbuntu (正確にはLin4Neuroなのですが)をインストールしたところ、下図のように画面が乱れるという現象が再現性をもって起こりました。
ログイン画面が表示されているのですが、これでは全く使いものになりません。
いろいろ調べていたのですが、なかなかわからなかったのですが、ふと、「仮想ターミナルを立ち上げて戻ってきたらどうだろう?」と思い、試したところ解決しました。
VirtualBoxのHotkey (デフォルトは右Ctrl) + F1 を押します。
私の環境で、 右Ctrl + F1 を押すと以下のようになりました。
きれいに見えます。
ここで、さらに、Hotkey + F7 を押します。
私の環境では、右Ctrl + F7 を押してみました。
なんときれいになりました。
忘れないようにメモとして残しておきます。
USBメモリは多くの場合、FAT32形式でフォーマットされています。これは汎用性がありますが、4GBの壁があり、4GBをこえるファイルは使うことができません。
WindowsにはNTFS形式があり、これは4GBを超えて保存できますが、MacでNTFSでフォーマットされたUSBメモリを読み込むにはひと手間必要です。
では、WindowsでもMacでもLinuxでも4GB以上のファイルをUSBメモリで扱うにはどうしたらいいでしょうか。
それに対する答えのひとつが exFAT形式です。
exFAT形式は、Microsoftが主にリムーバブルメディア向けに開発したファイルシステムだそうです。WindowsでもMacでも普通に読み込むことができます。
Ubuntuでもソフトウェアを2つ入れればすぐに使えます。それはexfat-fuse と exfat-utilsです。
Ubuntu 14.04の場合は、PPA経由で入れます。
sudo apt-add-repository ppa:relan/exfat sudo apt-get update sudo apt-get install exfat-fuse exfat-utils
Ubuntu 16.04以降では本家から普通に入れられます。
sudo apt-get update sudo apt-get install exfat-fuse exfat-utils
それで、フォーマットの仕方は非常に簡単です。
sudo mkfs -t exfat [ -n 名前 ] デバイス
もしくは
sudo mkfs.exfat [ -n 名前 ] デバイス
mkfs -t exfatも、mkfs.exfatも mkexfatfs へのシンボリックリンクのようです
たとえば、/dev/sdf を DATA と名づけたい場合
sudo mkfs.exfat -n DATA /dev/sdf
となります。
フォーマットが非常に速くて便利です。
クロスプラットフォームで4GB超の大容量ファイルが扱えるのと、フォーマットの速さが魅力的なので今はUSBメモリはとりあえず exFAT にフォーマットしてから使用するようになりました。
先日、ABiSチュートリアルで順天堂大学の鎌形先生から、FSL, FreeSurfer, MRtrix3を組み合わせたコネクトーム解析の素晴らしい講義を聞く機会がありました。
MRtrix3はインストールしなきゃと思いつつできていませんでしたが、せっかくですから、モチベーションが高いうちにインストールしようと思い、Ubuntu 16.04へのインストールを行いました。
http://mrtrix.readthedocs.io/en/latest/installation/linux_install.html
こちらに説明がありますが、これをまとめてみました。
関心のある方はこちらからダウンロードしてみてください。(右クリック→名前をつけて保存)
保存した後、
$ chmod 755 mrtrix3_installer_ubuntu1604.sh $ ./mrtrix3_installer_ubuntu1604.sh
でインストールができます。
ちなみに、上記スクリプトは以下のようになっています。
GitHubからダウンロードし、コンパイルし、.bashrcにパスを通すというシンプルなことをやっています。
#!/bin/bash #Script to setup mrtrix3 for Ubuntu 16.04 #Install prerequisite packages sudo apt-get install git g++ python libgsl0-dev zlib1g-dev libqt4-opengl-dev libgl1-mesa-dev libqt5svg5* libeigen3-dev #Download MRtrix3 source if [ ! -e $HOME/git ]; then mkdir $HOME/git fi cd $HOME/git git clone https://github.com/MRtrix3/mrtrix3.git #Configuration and build cd mrtrix3 ./configure ./build #.bashrc echo >> $HOME/.bashrc echo "#MRtrix3" >> $HOME/.bashrc echo 'export PATH=$PATH:$HOME/git/mrtrix3/bin:$HOME/git/mrtrix3/scripts' >> $HOME/.bashrc
Ubuntu mini.iso is useful when we want to build a system with minimal packages.
It is useful to make a bootable USB stick.
Below is how to make UEFI-based bootable USB stick with Ubuntu mini.iso.
Required package: 7-zip
You can get 7-zip with the following command;
sudo apt install p7zip-full
Now we will use “7z” command.
Two options are needed. “x” for extract and “-o” to specify output directory. If the directory doesn’t exist, 7z creates automatically.
Now I want to extract images into “usbdisk” directory.
7z x -ousbdisk mini.iso
This will make “usbdisk” directory and extract into the directory. Note that no space is allowed between “-o” and target directory. I tried space or quotation, without success.
One more thing. In order to make the USB stick bootable with UEFI, we need to extract efi.img under boot/grub. This can be easily done with the following command. (You don’t have to change directory.)
7z x -ousbdisk usbdisk/boot/grub/efi.img
This command will extract efi.img, which will be “efi” directory under which bootx64.efi and grubx64.efi exist into the usbdisk directory.
Finally we just copy the contents under usbdisk to a USB.
That’s it. Now try to boot from USB disk.
I tried to install igraph simply by running install.packages(‘igraph’), which resulted in compile error.
Gathering information scatterd on websites, I came to the conclusion.
My Circumstance is as follows;
Ubuntu
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
$ uname -a
Linux vincent 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
R-studio
Version 1.1.383
sudo apt update sudo apt install libssl-dev libcurl4-openssl-dev libxml2-dev
Then running install.packages(‘igraph’) in R-studio succeeded without error.
私は、Ubuntu 16.04 (をカスタマイズしたLin4Neuro 16.04)でfcitx+mozcで日本語入力を行っています。
エディタはvimを利用しています。
多くの方がネットに記載されていますので、詳細は書きませんが、私がvimで日本語文書を書くとき、
という問題がありました。
この点に関して、私がよく参考にさせていただいている「いくやの斬鉄日記」にまさにこれに関する記事があり、中国語ですが、この問題を解決する .vimrc に記載する設定のリンクが紹介されていました。
早速、以下を ~/.vimrc に記載しました。(中国語のコメントは、英語に変換してあります)
"##### auto fcitx ########### let g:input_toggle = 1 function! Fcitx2en() let s:input_status = system("fcitx-remote") if s:input_status == 2 let g:input_toggle = 1 let l:a = system("fcitx-remote -c") endif endfunction function! Fcitx2zh() let s:input_status = system("fcitx-remote") if s:input_status != 2 && g:input_toggle == 1 let l:a = system("fcitx-remote -o") let g:input_toggle = 0 endif endfunction set ttimeoutlen=150 "Leave Insert mode autocmd InsertLeave * call Fcitx2en() "Enter Insert mode autocmd InsertEnter * call Fcitx2zh() "##### auto fcitx end ######
これでvimを起動したところ、日本語でいろいろ書いた後に、ESCを押してノーマルモードに戻ると、自動でmozcがoffになりました。やった!という感じです。
しかし、もう少し使っていて、不便に感じることがありました。それは、vimを起動して最初の挿入モードになるときに必ず mozc が立ち上がってしまうことです。日本語の文章を書くときはいいのですが、スクリプトを書くときは邪魔になります。ここは自動じゃないほうがいいなと思いました。
で、上の記載をよくよく見ると
Fcitx2en() というファンクションと
Fcitx2zh() というファンクションがあり、
前者はESCが押された時に自動でinput method (IM)をoffにする機能であり
後者は挿入モードになった時に自動でIMをonにする機能のようです。
私は後者の機能がいらないんだと気づきました。
なので、以下のように、Fcitx2zh()のところを削除しました。
"##### auto fcitx ########### let g:input_toggle = 1 function! Fcitx2en() let s:input_status = system("fcitx-remote") if s:input_status == 2 let g:input_toggle = 1 let l:a = system("fcitx-remote -c") endif endfunction set ttimeoutlen=150 "Leave Insert mode autocmd InsertLeave * call Fcitx2en() "##### auto fcitx end ######
こうしたところ、私の期待していたように
となりました。
これでvimがさらに便利になりました。
自分の備忘録として記載しておきます。
シェルスクリプトで作業を自動化しようとするとき、ファイル名やディレクトリ名に半角スペースが入っていると、エラーとなります。
この半角スペースを全部アンダースコア( _ ) で置き換えてあげたいと思いました。
それも、カレントディレクトリだけではなく、再帰的にサブディレクトリにあるものもすべてです。
やっぱり楽したいですから…。特に画像解析をやる場合、DICOMのディレクトリ構造は、かなり奥深くにいくので、再帰的にいけると楽になります。
スマートでないかもしれませんが、以下のようなスクリプトを書いてみました。
replace-space-underscore.shのダウンロード(右クリックで名前をつけて保存)
思考過程を書いていこうと思います。
私はこんな作業をよくします。
この際
$ cp something /path/to/A $ cd /path/to/A
とするわけですが、この /path/to/A を2回うつのはめんどくさいので、簡単な方法がないかを調べてみると、
!$
という特殊変数があることがわかりました。
しかし、しょっちゅう忘れるので、覚え方を考えてみました。
bashでは、履歴を知りたいときに、!を使います。
たとえば
$ history
でコマンド履歴を調べ、その1457番目のコマンドを再度実行したいときは
$ !1457
とすればいいわけですね。
で、$ですが、正規表現において、$は「行の最後」を意味します。
この2つを組み合わせれば
「履歴において一番最後のもの」
と考えれば、 !$
は覚えやすいなと思いました。
自分の思考過程を備忘録として書いておきます。
<29/July/2020 追記>
コメントに Esc + . でもいけるというご指摘をいただきました。
これは、viの動作をイメージすると覚えやすいですね。
vi は コマンドモードで、. は繰り返しになるわけですので、
bashでEscでviのコマンドモードに入ったような感じになって、.で前回の引数の繰り返しというイメージで覚えたらいけそうです。
Lin4Neuro was updated.
You can get the latest version from here.
Lin4Neuroのアップデートを行いました。
ここから入手できます。