ラベル ubuntu の投稿を表示しています。 すべての投稿を表示
ラベル ubuntu の投稿を表示しています。 すべての投稿を表示

2023年6月13日火曜日

Emacsインストール時の初期設定

Emacsはインストールしたままでは起動時にごちゃごちゃと説明が出てきてしまうので表示しないようにする.

~/.emacs.d/init.el

(setq inhibit-startup-message t)

(setq initial-scratch-message nil)

と記述して保存.

2019年6月14日金曜日

Raspberry Pi 3 BにMAVROSを入れてPX4と通信する

Raspberry PiにMAVROSをセットアップ.

Ubuntu 16.04を入れる.

ROS Kinetic Kameを入れる.

ここまでこちらのサイトをまんま参考にしている.というかイメージをそのままEtcherしている.

$ sudo apt update
$ sudo apt upgrade

lockが出たらpathが表示されているlockファイルをrmする.
公開鍵の文句が出たらその公開鍵を削除して入れ直す
$ sudo apt-key del 表示された公開鍵のID
$ 入れ直す.

USBを使えるようにしておく.

$ sudo gpasswd -a USER_NAME dialout

$ sudo reboot

MAVROSを入れる.

$ sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras

MAVROSの付属品を入れる.


$ wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh ./install_geographiclib_datasets.sh

$ sudo chmod +x install_geographiclib_datasets.sh

$ sudo ./install_geographiclib_datasets.sh

MeijoDroneを入れる.

$ git clone https://github.com/MeijoDrone/MeijoDrone.git

$ cd MeijoDrone/sip_mavros_ws

掃除.

$ rm -r devel
$ rm -r build

Makeする.

$ catkin_make

.shに権限を与える.

$ sudo chmod +x runPX4Manager.sh

PX4を繋いだら早速動かす.

$ ./runPX4Manager.sh /dev/ttyACM0

2019年6月13日木曜日

apt updateで公開鍵がないですよと怒られた

Ubuntu16.04にROS Kineticをインストールしているが,apt updateしようとしたら以下のエラーが出た.

the following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654

公開鍵が悪さをしているようなので一旦公開鍵を削除して
$ sudo apt-key del F42ED6FBAB17C654
改めて公開鍵を登録した.
$ sudo apt-key adv --keyserver 'hkp://ha.pool.sks-keyservers.net:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

これでapt updateが通った.

2018年12月4日火曜日

USB無線LAN子機をUbuntuで使用する

ELECOMのWDC-433DU2HBKをUbuntu16.04で使用する.

~$ wget https://github.com/gnab/rtl8812au/archive/master.zip
~$ unzip master.zip
~$ cd rtl8812au-master

~/rtl8812au-master$ sudo make
~/rtl8812au-master$ sudo make install

で再起動.

2018年3月21日水曜日

ubuntu上でgithubしてみる

github.comでリポジトリを作って,リポジトリをubuntu上にcloneして新しいディレクトリをpushするという流れ.

gitのインストール
$ sudo apt-get install git

githubのユーザ名・アドレスを設定
$ git config --global user.name "username"
$ git config --global user.email user@email.com

sshの公開鍵
$ ssh-keygen -t rsa -C "user@email.com"
return returnでパスワード設定
~/.ssh/id_rsa.pubに公開鍵ができる.中身をまるっとコピーしてブラウザからgithub.comでsetting>SSH and GPG keys,[New SSH key]でペースト.

次に予め作ってあったリポジトリをclone
$ git clone https://github.com/Organization/Repository 
現在のディレクトリにRepositoryがクローンされる.

$ cp -r made-dir Repository
$ cd Repository
$ git add made-dir
$ git commit -m 'any comment'
$ git push

これでgithub上にディレクトリを追加完了.

2018年3月19日月曜日

Gigabyte Brixをヘッドレス化(モニター無し運用)

Ubuntu16.04を載せたGigabyte Brixをヘッドレス化する.大抵の場合,引っかかるのはモニターを接続していないとログインまでたどりつけない問題.これはXwindowがモニターを探しに行って見つからずに起動できないということなのだが,Biosによっては起動にモニターなしで起動ができるようだ.今回はvncserverで仮想モニターを用意して起動するという内容(のはず).ヘッドレスで起動した後,そのままssh接続可能で,移動した後にモニターを接続しても正しく表示される.やったことだけつらつらと書いていく.
参考<https://askubuntu.com/questions/621313/vnc-server-for-headless-ubuntu-14-04>

$sudo apt-get update && sudo apt-get upgrade
$sudo apt-get install gnome-core xfce4 vnc4server
$sudo adduser user1
$su - user1
$vncserver
$emacs /home/user1/.vnc/xstartup
#!/bin/sh                                                                                                                                                                                                          

# Uncomment the following two lines for normal desktop:                                                                                                                                                            
# unset SESSION_MANAGER                                                                                                                                                                                            
# exec /etc/X11/xinit/xinitrc                                                                                                                                                                                      

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
$sudo emacs /etc/init.d/vncserver
#!/bin/bash                                                                                                                                                                                                        

unset VNCSERVERARGS
VNCSERVERS=""
[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
prog=$"VNC server"
start() {
 . /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Starting $prog: "
ulimit -S -c 0 >/dev/null 2>&1
RETVAL=0
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
DISP="${display%%:*}"
export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}"
fi
done
}
stop() {
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Shutting down VNCServer: "
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
export USER="${display##*:}"
su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
fi
done
echo -e "\n"

echo "VNCServer Stopped"

}
case "$1" in
start)
start $@
;;
stop)
stop $@
;;
restart|reload)
stop $@
sleep 3
start $@
;;
condrestart)
if [ -f /var/lock/subsys/vncserver ]; then
stop $@
sleep 3
start $@
fi
;;
status)
status Xvnc
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
$chmod +x /etc/init.d/vncserver
$sudo mkdir -p /etc/vncserver
$sudo vim /etc/vncserver/vncservers.conf
VNCSERVERS="1:user1"
VNCSERVERARGS[1]="-geometry 1024x768"

$sudo reboot

2017年6月18日日曜日

ヘッドレスでUbuntuを起動

ヘッドレス(ディスプレイ接続なし)でUbuntuを起動する.使用PCはZOTACのZBoxです.GPUはNvidia.通常の設定ではディスプレイを探しに行って見つからないずにOSが起動しないという状態になります.ディスプレイがなくても起動することを許可すればOK.

$ sudo nvidia-xconfig --allow-empty-initial-configuration

2016年9月23日金曜日

sftp接続でファイル・ディレクトリのやり取り

sftpでリモート接続しているサーバーとファイルのやり取りをする方法.

サーバーに接続
$ sftp user@IP-address

サーバー上でのフォルダ移動・検索は通常通りでローカルは
sftp$ lcd
sftp$ lss
などlocalのlがつく.

ファイルをサーバーからダウンロード
sftp$ get sample.cpp

ファイルをサーバーにアップロード
sftp$ put sample.cpp

ディレクトリをサーバーからダウンロード
sftp$ get -r sample_dir

ディレクトリをサーバーにアップロードする際は圧縮・解凍を行う必要がある
圧縮
$ tar czvf compressed_dir_name.tar.gz sample_dir
ファイルと同じにアップロード
sftp$ put compressed_dir_name.tar.gz
解凍
ssh$ tar xzvf compressed_dir_name.tar.gz



2016年9月22日木曜日

シリアルポートBaudrateの確認と設定

C系で組んだプログラムでUSBシリアルデバイスと通信をする際に文字化けが発生.

$ stty -F デバイスパス

でbaudrateを確認するとプログラムで設定した値と異なる.

$ stty -F デバイスパス ospeed ボーレート

でBaudrateを設定.

ところで同じようなコマンドで

$ setserial -a デバイスパス

があるけれども何が違うのだろう?

2016年6月27日月曜日

USBデバイスのアクセス権限を付与する

Ubuntuでプログラムを書いて忘れがちなこと,USBデバイスへのアクセス権限の付与です.

以下をターミナルで実行するだけです.

$ sudo gpasswd -a ユーザ名 dialout

ubuntuのホームディレクトリを英語化

以下をコンソールで入力して
$ LANG=C xdg-user-dirs-gtk-update

表示された窓を確認して変更をクリック

2016年6月26日日曜日

ubuntu14.04@GYGABITE BRIXのwirelessカードが認識されない

GYGABITE BRIXという手のひらサイズのPCを使っているのですが,ubuntu14.04をインストールしたところwirelessカードを認識してくれない.日本語で調べたところカーネルを新しくすればいいという情報が出てきたのだけれどもう少し調べたらもっと簡単に解決できるようだ.
http://askubuntu.com/questions/672700/how-can-i-install-intel-dual-band-wireless-ac-3165-drivers

以下のファイルがあるか確認する
iwlwifi-7265D-13.ucode
iwlwifi-7265-13.ucode

ls /lib/firmware | grep 7265

あればそれを複製して改名
$ cd /lib/firmware
$ sudo cp iwlwifi-7265D-13.ucode iwlwifi-3165-9.ucode
$ sudo cp iwlwifi-7265-13.ucode iwlwifi-3165-13.ucode

そして再起動する.

これでちゃんとwirelessカードを認識してくれるようになりました.

sshのホストの記録を削除する

ubuntuにsshしようとしたら

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

が表示されて接続を拒否された.何故かというと,同じ筐体に同じIPアドレスを割り振っているものの,OSを再インストールしたからだ.どうやらクライアント側(sshを打つ側)がホストの情報を記録していて,いざ接続しようとしたら情報が違う,接続してはいけない,と判断するからのようだ.

ということでクライアント側に保存されたホスト情報を削除しましょう.

$ ssh-keygen -R ???.???.*.*
IPアドレス:???.???.*.*

これで改めて
$ ssh username@???.???.*.*

Are you sure you want to continue connecting (yes/no)?
YES!!!

晴れてsshすることができました.

そういえばOSを久々に入れ直してssh接続しようとしてrefuseされて,ホストサーバーを入れなければいけないことを思い出しました.
$ sudo apt-get install openssh-server

2016年1月23日土曜日

起動時にプログラムを自動実行してみる

ubuntuの乗ったPCを制御器としてロボットを制御する.ディスプレイは使用しないので起動スイッチを押したら自動的にログインして自動的に目的のプログラムを実行する.

前にやったときはオートログインやオートスタートはlightdm.confやautostartに記述する必要があったが,今はUIがちゃんと用意されているみたいで.

オートログインは
システム設定 -> ユーザーアカウント -> 自動ログインタブをオン

オートスタートはここで自動起動で検索して

自動起動するアプリケーションで追加をし

コマンドの参照から自動実行したいシェルスクリプトのパスを選択し追加.

以上でubuntuを起動すれば自動でログインしてプログラムを自動で実行してくれる.簡単!

自動起動するアプリケーションの設定はターミナルから
$ gnome-session-properties
で起動することも可能.
登録した内容は
~/.config/autostart/*.desktop
を参照.

2016年1月22日金曜日

シェルスクリプトと実行権限

シェルスクリプトの書き方と実行権限
■書き方

・1行目は必ず
#!/bin/sh
と書く.おまじない.(#!以降で書かれたプログラムでスクリプトを実行するという意味らしい)

・2行目以降に実行したいプログラムを一応フルパスで記述する.
/home/username/programs_dir/a.out

・echoでターミナルに文字列を表示
echo "hogehoge"

・sleepでスリープ.
sleep 3s

など.詳しくは他のサイトを参照すること(もしかしたら今後増えるかもしれないが自分で使ったコマンドしか書きません).

■実行権限
書いたシェルスクリプトtest.shを実行する時は
./test.sh
なのだが,エラーが出る.ユーザに実行権限が無いからだ.そこで
chmod u+x test.sh
で権限を変更する.

Ubuntuを電源ボタンでシャットダウン処理

Ubuntuを乗せたPCをロボット制御に使う際,マイコンであれば電源をそのまま切れば良いけれど,PCだとそれはちょっと…電源ボタンを押しての強制終了も嫌だ…ちゃんとシャットダウンしたい.ということで電源ボタンを押してシャットダウン処理したい.Ubuntuはデフォルトで電源ボタンを押せば,シャットダウン/リブートの選択,または何もしなければ60秒後にシャットダウンしてくれる.でも,サクッとシャットダウンしたい.ということで

/etc/acpi/events/powerbtn
を編集する.内容は

event=button[ /]power
action=/etc/acpi/powerbtn.sh
となっている.2行目のactionをコメントアウトして以下に修正すればOK.

event=button[ /]power
#action=/etc/acpi/powerbtn.sh
action=shutdown -h now

あとは再起動すれば適用される.