サーバにSSHで接続したときに始めに出てくるアレ

ちょっと、Ubuntuサーバに接続したときに表示されるアレを設定する必要がったので調べました。
というか名前が知らなかったので一生懸命ググりましたよ。

Motd(Message of the Day)って言うんですね。知りませんでした。

俺流のmotdを晒してみる


Motdという単語がわかれば後は何とかなるのでさらにググりましたよ。

どーやら、ここに入っているスクリプトを名前の昇順に動かしてログイン時のメッセージを作成しているようです。

$ ls /etc/update-motd.d/
00-header     50-landscape-sysinfo  91-release-upgrade  98-reboot-required
10-help-text  90-updates-available  98-fsck-at-reboot   99-footer

ココにあるスクリプトを消したり追加したりすることでログイン時のメッセージを変えることが出来ます。
Ubuntuでmotdメッセージをいじる


ということで、本題のログイン時の表示
お好きなエディタで/etc/update-motd.d/01-hogeを作成*1

$ sudo vi /etc/update-motd.d/01-hoge

実験として、こんな感じのシェルを作成。
現在ログインしているユーザー、HDD容量、日付

#! /bin/sh
echo "(^o^)"
echo
who
echo
df
echo
date

あと、シェルを実行したいのでパーミッションを設定

$ sudo chmod 755 /etc/update-motd.d/01-hoge

あれ?ログインしてみたけど動的に更新されないんだけど・・・・。*2
どうしよう・・・。でもMotd(Message of the Day)という名称なので使い方
間違えているのかなーと再度ググってみたら有りました。期待の物が

UpdateMotd

ここを見ていたら、どうやらプログラムを追加すればボクが探し求めていた
処理をしてくれるようです。ということで早速インストール♪

sudo apt-get install update-motd

これで、必要だったログイン時にメッセージを出せました。
ただ、ログイン時に毎回スクリプトが動くので反応が少し悪くなったorz

*1:スーパーユーザーじゃないと作成できない

*2:ログイン時に作成されたメッセージは/etc/motdが該当ファイルになります。

玄箱wgetインストール

年末年始にお家のお掃除をしたときに随分と長い間インテリアとして鎮座していた
玄箱さんに電源を投入したの時のwgetをインストールしたときのメモです。


必要なファイル

binutils-2.10.91.0.2.tar.gz
gcc-2.95.3.tar.gz
make-3.79.1.tar.gz
textutils-2.0.tar.gz
autoconf-2.13.tar.gz
automake-1.4p4.tar.gz
g++-2.95.3.tar.gz
glibc-2.2.3.tar.gz


解凍

binutils-2.10.91.0.2.tar.gz -C /
gcc-2.95.3.tar.gz -C /
make-3.79.1.tar.gz -C /
textutils-2.0.tar.gz -C /
autoconf-2.13.tar.gz -C /
automake-1.4p4.tar.gz -C /
g++-2.95.3.tar.gz -C /
glibc-2.2.3.tar.gz -C /


wgetのインストールファイルダウロード先
http://www.ring.gr.jp/archives/GNU/wget/


ダウンロードしたファイルをインストール

cd /mnt/share
tar xvzf wget-1.10.2.tar.gz
cd wget-1.10.2
./configure
make install.bin


これで、wget玄箱さんが出来るようになるのでコレでダウンロードが捗るぉ。

MicrosoftのKinectをVisual Basic.NET Languageで首振りさせる

この投稿はLL/ML Advent Calendarの10日目のネタです。

  • はじまり

LL/ML Advent Calendarの編集者が所属している某社に妖精さんとして
潜り込んでいた時に捕獲されました。*1なごやこわい!!


ということでLLとかMLとかネタを考えないと・・・。
色々考えたが本当に何も思いつかないし風邪ひいてお腹痛いし
12月10日のネタ記事落としてしまうのか??と不安に思っていたら

!!
ここの人気プログラミング言語で「Cが1位を維持、Objective-Cの人気が続く - 12月プログラミング言語人気」という記事を読んでC言語系ですかぁ。


そうですか、C言語ですか!!
VBが虐げられている!!*2
(先月MicrosoftKinectのSDKをいれていてKinectネタ何かやろうとは思っていた。)

MicrosoftKinectVB.netで動かせばランキング上がるんだ。*3

  • 開発言語の選択

まず、選択したのはVisual Basic 2010理由はC#の言語設計者として知られる
アンダース・ヘルスバーグ氏が設計に携わりVBC#との格差が低減されているから。*4


そう!!Visual Basic 2010以降ならKinectが動かせる!!


ということで、本題

  • サンプル実装

まずは、インポート

Imports Microsoft.Kinect

つづいて、KinectSensorの定義

Namespace miguse.Kinect.Tilt
	Partial Public Class MainWindow
		Inherits Window
        Private sensor As KinectSensor

スライダーを動かすとKinectを上下にチルトするようようにこんな感じで記述

Private Sub Slider1_ValueChanged(sender As System.Object, e As System.Windows.RoutedPropertyChangedEventArgs(Of System.Double)) Handles Slider1.ValueChanged
      Private sensor As KinectSensor
            Try
                sensor.Start()
                sensor.ElevationAngle = CInt(Slider1.Value)
                sensor.Stop()
            Catch ex As Exception
                MsgBox(CInt(Slider1.Value))
            End Try
        End Sub

これで、VBでもKinectの首振りが出来ます。詳しくはMSDNをみてね。

*1:おかしたべられてしあわせー

*2:妖精さんの勘違いです

*3:かなり、勘違いしている

*4:Visual Studio 2010 or Visual Studio 2012でドライバを入れたPCがWindows7なのでVisual Studio 2010を選んだが真実

別のドライブに移動する方法(毎回忘れるからメモったの)

えぇ、ここにメモとしてわざわざ残さなくても

cd /?

ってコマンド叩けばいいじゃないか!!と突っ込まれそうだが
そもそもcdコマンドでよかったっけ??と思うぐらい忘れてしまうのでメモっているの。


結論から言うと、下のコマンドで別ドライブへ移動できます。

cd /d [ドライブ:][パス]

おっきな画面でみえれたよ♪おにーちゃん♪

急に何を言い出したかというとGALAXY NEXUS SC-04D(docomo版)に
JCROM ProjectのJCROM(Jelly Bean)を入れて動かしたときの話しです。


経緯としては、「実はHDMI出力ができるGALAXY NEXUS - ケータイ Watch」という記事をかなり周回遅れで偶然発見し。


そして、ふとdocomo版のROMならそのまま動くけど自分でビルドしたJCROM(Jelly Bean)でHDMI出力して大きな画面で見えるのかな?
と疑問に思ったのでアマゾンさんで「iBUFFALO [GalaxyS2対応]MHL専用 BSMPC09BK」を購入して動かしてみました。


こんな風に接続♪



なんと!!TVモニターに出力されたではありませんか!!

そして、「こんなことしたって何もならなくなくなくなくない」って音楽までTVモニターから聞こえたので、もう働きたくないでござる。

repo syncでハマったの

えぇ。Android x86のソースをrepo syncしよとこんな感じでコマンド叩いてみたんです。

$ cd android-x86/ics-x86
$ repo init -u http://git.android-x86.org/manifest -b ics-x86

すると、こんなこと言われたんです。

repo initialized in /home/miguse

あれ?ディレクトリがおかしいですけど・・・・。
android-x86/ics-x86っていうディレクトリにならない??何でだろう??とググったらここに行き着いた。
http://source.android.com/source/downloading.html


「.repo」の事が書いてある箇所を読んだら。どうやら最初に成功したワーキングディレクトリが「.repo」に登録されているらしいとの事
ほぉ、そいや始めて取得としたときに自分のホームディレクトリにソース落としたような覚えがあるような・・・。

ということで、/home/miguseにある「.reop」を削除して。

$ rm -r .reop

再取得のため、もう一度コマンドを叩いたら

$ cd android-x86/ics-x86
$ repo init -u http://git.android-x86.org/manifest -b ics-x86

repo initialized in /home/miguse/android-x86/ics-x86

期待通りのディレクトリになりました。

他のVMのイメージ作りたいなぁ。

あまり需要がないのか、ボクのグーグル検索スキルな無いだけなのかよくわからないが直ぐに該当のページが見つからなかったのでメモ書き。


[Ubuntuの場合]

 $ VBoxManage internalcommands converthd -srcformat VDI|VMDK|VHD|RAW -dstformat VDI|VMDK|VHD|RAW 変換前ファイル.VDI|VMDK|VHD|RAW 変換後ファイル.VDI|VMDK|VHD|RAW

[VHDからVDIへの変換例]

 $ VBoxManage internalcommands converthd -srcformat VHD -dstformat VDI hoge.vhd hoge.vdi

これさえ分かれば、残りのパターンも楽勝だね♪

[Windowsの場合]
Windowsは何故かパスが通っていなかったので。

 cd "C:\Program Files\Oracle\VirtualBox"
 VBoxManage.exe internalcommands converthd -srcformat VDI|VMDK|VHD|RAW -dstformat VDI|VMDK|VHD|RAW 変換前ファイル.VDI|VMDK|VHD|RAW 変換後ファイル.VDI|VMDK|VHD|RAW


Ubuntu*1/Windows*2共に変換前/後ファイルの場所は指定できる。


当たり前だけど、コンバートを行うファイルのサイズが大きければ、それなりに時間がかかります。

*1:例:/hdd-image/hoge.vhd /hdd-image/hoge.vdi

*2:例:c:\hdd-image\test.vhd c:\hdd-image\test.vdi