Gentoo Linux(TOUGH BOOK CF-18)にalsaを入れる
ども、BobbyQuineです。いやー、てこずりました。Gentooで音声を使いたい、ということでやってみたのですが1.5日ぐらいかかっちゃいました。とりあえず、Go!!
この記事を真似するなら自己責任で。
Kernelの設定
http://bobbyquine.hatenablog.com/entry/2018/02/28/143630
環境は上記URL参照。多分genkernel allでkernelをインストールした人はこのセクションを飛ばしてもいいと思います。
また、詳しくは下記のURLを参考のこと。個人的にハマった箇所について書いていきます。そして何より個人的に動いた設定を載せているだけなので必要ない箇所にチェック入れている場合や別に外さんでも良い箇所のチェックを外している場合があります。
https://wiki.gentoo.org/wiki/ALSA
# lspci | grep -i audio
でオーディオデバイスを検出。このときの僕の環境下での出力結果は
前略 Intel Corporation 中略 (ICH6 family) AC'97 後略
的な感じでした。
# cd /usr/src/linux
# make menuconfig
Device Drivers --->
Sound Card Support --->
Advanced Linux Sound Architecture --->
PCI sound devices --->
該当するデバイス(先のlspci参照)のチェックボックスを<M>にする
Generic sound devices --->
PC-Speaker supportはチェックボックスは外す。
Dummyなんちゃらのチェックボックスは外す。
configをsaveしたらそのまま
# make && make modules_install
# make install
alsa-utilsのインストール
USEフラグに "alsa" を追加
更新
# emerge --ask --changed-use --deep @world
alsa-utilsのインストール
# emerge --ask --verbose media-sound/alsa-utils
このとき自動でmedia-libs/alsa-libが入る。
その他設定
他のユーザーがスピーカーを使えるようにする。
# gpasswd -a username audio
alsasoundサービスの起動
# rc-service alsasound start
boot時に自動で起動するように設定
# rc-update add alsasound boot
とりあえず音が出るかの確認
# speaker-test -t sine -f 600
以上。かなり雑なほぼ個人用備忘録みたいな記事でしたが何かの役にたてば幸いです。
TOUGH BOOK CF-18 に繋いだUSBハードディスクにGentoo Linuxをインストールする。
ども、BobbyQuineです。今回はGentoo Linux。こいつを超強い(物理)なPC、TOUGH BOOK CF-18にインストールしてみました。ただし、仮に自分のパソコンでGentoo Linuxを使いたい、使ってみたいという方が訪れたのであれば悪いことは言いません、今すぐにGentoo公式インストールハンドブックに行ってください。僕のことですからどこかしら抜けている可能性もありますし、時代による移り変わりもあります。公式ハンドブックを見るに当たって、僕が今回インストールした時点では一部ページが日本語に翻訳されていない箇所があります。英語が不得意な方はgoogle翻訳さんにまるごとページを翻訳してもらったほうがぶっちゃけ楽です。
とりあえず今回も。やるなら自己責任でお願いします。
インストールディスクの作成
インストールするに当たって、まず母艦はPanasonic CF-S9 + Arch Linuxでやっていきます。
まずはここ↓↓からディスクイメージをダウンロード。今回、僕はX86のminimalCDでやっていく。
https://www.gentoo.org/downloads/
で、ダウンロードが終わったら適当なDVDrwを入れて
$ growisofs -dvd-compat -Z /dev/sr0=install-x86-minimal-20180221T214502Z.iso
まぁこの辺のツールの使い方はググってください。あとファイルの整合性調べておきたい人なんかは公式ページを確認のこと。
Live USBを作る場合
USBにLivediscイメージを焼き込む場合は
# sudo fdisk -l
で書き込み先のデバイスを確認。今回は/dev/sdb
# sudo dd if=imagename.iso of=/dev/sdb
LiveDiscの起動
今度はTOUGH BOOKにUSBDVDドライブ繋いでそいつにLiveDVDいれてBoot。このとき、ブート優先順位についてDVDを最優先にしておく。
起動途中にkeyboardの選択があるのでjp106である22番を入力してEnter。なお、こいつはしばらくほっとくとusキーボードのまま起動してコマンド待機するようになる。キーボード選択を逃してしまった方は慌てずに
# loadkeys jp106
でロードできる。で、毎度おなじみpingコマンドでネットに繋がっているか確認しておこう。なお、今回は有線でやっている。
パーティション分け
今回はこの前ジャンクを買ったときについてきた240GBHDDにインストールしていく。
boot、root、homeの3つのパーティションを作る。また、スワップ領域は作らない。
そしてGPTで作る。
# parted /dev/sda
(parted) mklabel msdos
(parted) mkpart primary ext4 2MiB 512MiB
(parted) mkpart primary ext4 512MiB 50GiB
(parted) mkpart primary ext4 50GiB 100%
このとき最初の2MB位を開けておく。
で、その後作ったすべてのパーティションをext4でフォーマットする。
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
まぁ察されるとは思いますが、1が/boot、2が/、3が/home。
マウント
注意すべきなのはここでマウントポイントがArchのときと違い/mnt/gentooであること。
# mount /dev/sda2 /mnt/gentoo
時刻の確認&設定
公式ページの時刻関係を斜め読みした感じだとちゃんとあってないとうまく行かないことあるよ的なこと書いてあった気がしたので
時刻確認
# date
時刻設定
# date MMDDhhmmYYYY
なおこのとき自分の住んでいる国での時間ではなく、世界標準時かなんかで設定する(UTC).
stageballのダウンロードとインストール(展開)
ルートディレクトリ下にあるディレクトリ&ファイル郡を入れる作業。まず、ダウンロード元は公式には色々とミラーだとかなんだとか書いてあったのですが先程のISOをダウンロードしたページにstageball3のダウンロードボタンがあったのでそのリンクURLを用いた。なお、コレはある程度の期間で更新されるので自分でリンクされているファイルは確認してください。
# cd /mnt/gentoo
# wget http://distfiles.gentoo.org/releases/x86/autobuilds/20180221T214502Z/stage3-i686-20180221T214502Z.tar.xz
# tar xpf stage3-i686-20180221T214502Z.tar.xz
コンパイルオプション
そもそもGentooLinuxはすべてのソフトウェアについて、ソースをダウンロードしてきてローカルでコンパイルすることでそのハード及び環境に最適化するようにというコンセプトがある。そのコンパイル時にどのような操作をさせるかを記述しておくのが/etc/portage/make.confである。
# nano -w /mnt/gentoo/etc/portage/make.conf
MAKEOPTS="-j2"
CXXFLAGS="${CFLAGS}"
を追加した。これらはそれぞれ並列させる数、C++の最適化フラグ。詳しくはハンドブック見てください。
ミラーリストの追加
portageでソースコードをDLするときのサーバーを物理的に近いやつにしといた方が早いので設定しとく。
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
# mkdir --parents /mnt/gentoo/etc/portage/repos.conf
# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portagerepos.conf/gentoo.conf
DNS情報のコピー
# cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
# mount --types proc /proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --make-rslave /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
# mount --make-rslave /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"
/boot、/homeのマウント
ここでこれらをマウントしておく。
# mount /dev/sda1 /boot
# mount /dev/sda3 /home
このとき、chrootしたことを忘れないように。
Webからのebuildスナップショットのインストール
# emerge-webrsync
# emerge --sync
プロファイルの選択
# elselect profile list
で選択可能なリスト表示。" * " マークがついてるのが現在の。
# eselect profile set [番号]
で選択。今回僕はx86/17.0/desktopを選択。
@worldセットの更新
プロファイルについて新しいものを選択したので更新しとく(任意)。なお、initシステムにsystemdを導入しようと考えている方はこれ必須。なお、今回僕はinitシステムにOpen-RCを使う。
# emerge --ask --update --deep --newuse @world
これは選択したプロファイル及び環境によってまちまちだがdesktopなんかを選択してると半日近くかかった。
USE変数の設定
ソースコンパイル時のこの昨日を使用する/使用しないということを設定する。コレによりそのソフトウェアにおいて必要のない機能を削ることができる。
# less /usr/portage/profiles/use.dosc
で使えるUSEフラグの確認。
# nano -w /etc/portage/make.conf
USE="なんちゃら かんちゃら ・・・"
って感じ。僕は
USE="X aac flac mp3 x264 mp4 dvd cdr alsa cxx ffmpeg gtk wifi cjk"
としといた。
タイムゾーンの設定
# echo "Asia/Tokyo" > /etc/timezone
# emerge --config sys-libs/timezone-data
ロケールの設定
コメントアウトを外す。ロシア語は項目になかったので追加した。
# nano -w /etc/locale.gen
# locale-gen
# eselect locale list
# eselect locale set [番号]
このときja_JP.utf8にしちゃったら案の定エラー文とかが" ■ "になってしまったのでen_US.utf8で。あとは環境リロード。
# env-update && source /etc/profile && export PS1="(chroot) $PS1"
カーネル及びその周辺の設定
マニュアル設定でやっていきます。詳しくはGentoo公式ハンドブックを見てください。特に必須項目等もありますので。
https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Kernel
# emerge --ask sys-kernel/gentoo-sources
# ls -l /usr/src/linux
# cd /usr/src/linux
# make menuconfig
セッティングがおわったら
# make && make modules_install
# make install
# emerge --ask sys-kernel/genkernel
# genkernel --lvm --mdadm --install initramfs
# emerge --ask sys-kernel/linux-firmware
vimのインストール
使い慣れないnanoはめんどくなったのでここでvimを入れとく。
# emerge --ask --verbose vim
fstabの作成
fstabは起動時にデバイスをどのようにマウントしていくかみたいなことが書いてある。
UUIDの確認をする。
# blkid
このときの出力結果を使う。こいつが長いのでいっそ
# blkid >> /etc/fstab
とでもしてあとからいらない部分消して使う感じで良いと思う。とりあえず今回は例として下のようなUUIDであったとする。
/dev/sda1 UUID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
/dev/sda2 UUID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
/dev/sda3 UUID=cccccccc-cccc-cccc-cccc-cccccccccccc
長いのでここより先それぞれaaaa、bbbb、ccccと略すことにする。
# vim /etc/fstab
UUID=aaaa /boot ext4 noauto,noatime 0 2
UUID=bbbb / ext4 noatime 0 1
UUID=cccc /home ext4 noatime 0 2
ホストネームの設定
# vim /etc/conf.d/hostname
hostname="yourHostname"
# vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 yourHostname.localdomain yourHostname
# emerge --ask --noreplace net-misc/netifrc
# ip link
で有線で使われている名前(ここではeth0としておく)を調べる。
# vim /etc/conf.d/net
config_eth0 = "dhcp"
起動時に自動的にネットワークに繋がるようにする
# cd /etc/init.d
# ln -s net.lo net.eth0
# rc-update add net.eth0 default
PCMCIA
TOUGH BOOK にはPCカードスロットがついているので
# emerge --ask sys-apps/pcmciautils
ルートパスワード
# passwd
キーボード設定
# vim /etc/conf.d/keymaps
keymap="us"となっているところをjp106に変える。
システムロガー
# emerge --ask app-admin/sysklogd
# rc-update add sysklogd default
ファイルのインデックス
# emerge --ask sys-apps/mlocate
ファイルシステムツール
ext2,3,4
# emerge --ask --verbose sys-fs/e2fsprogs
vfat(fat32とか)
# emerge --ask --verbose sys-fs/dosfstools
dhcpクライアント
# emerge --ask net-misc/dhcpcd
ワイヤレス関係はまたそのうち。とりあえずは有線で運用するので。
ブートローダー(GRUB2)のインストール
ブートローダーも色々と選択できるが今回はとりあえずデフォルトのGRUB2で。
また、今回はBIOSでありUEFIではない。パーティションにはGPTを使っているがそもそもCF-18にはUEFIはない。
# emerge --ask --verbose sys-boot/grub:2
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
システムのリブート
とりあえずchrootから出る。
# exit
# umount -l /mnt/gentoo/dev{/shm,/pts,}
# umount -R /mnt/gentoo
# reboot
リブート時、起動優先順位を変えるかディスクを取り除くかして起動。無事起動したら成功。あとはstage~.tar.xzを削除したり一般ユーザー作成したりして終わり。
ここまで読んでくださった方、ありがとうございます。ぶっちゃけこの記事はなんとなくインストール手順の雰囲気をつかむためには役にたつかもしれませんが実際には個人的な単なる備忘録です。公式ハンドブックとgoogle翻訳を用いてインストールすることを強く推奨します。
Android端末でターミナルを使いたい/ Termux
ども、久しくブログ更新していなかったBobbyQuineです。Android端末って標準だとコマンド操作できなくて不便ですよね。Android端末内にあるデータをPCに移したいけれどケーブルがない。通信制限が来てるからGoogle Drive なんかは使えないしどーしよ、ってなったとき「Androidでもscpコマンド使いてぇ」ってなるわけ。他にもyoutubeから動画落としたいけどyoutube-dlは使えない、メモ帳代わりにvim使いたいけど使えない、手元にPCないけど音声ファイルのファイル形式変えたいとか。まぁGUIのそういうソフト使っても良いんだけどなんだか使いづらかったりそれいらないだろって情報にアクセス求めてきたり。なので今回はroot化しなくても使えるTermuxってのをインストールしてみた。
毎度のことながら記事に書かれていることをやるなら自己責任で。
Termuxのインストール
ここ↓↓からダウンロード&インストールできる。
https://play.google.com/store/apps/details?id=com.termux&hl=ja
あと個人的にVimを使うのでEscキーとかほしいからコレ入れた
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&hl=ja
その他自分がやったこと
vimのインストール
$ pkg install vim
gccのインストール
$ pkg install clang
ffmpegのインストール
$ pkg install ffmpeg
opensshのインストール
$ pkg install openssh
あとやっぱりslは入れといた
$ pkg install sl
まぁこんなとこかな。youtube-dlはrootとんないとできない臭い。
Arch LinuxのLaptopをWi-Fiアクセスポイントにした話
ども、BobbyQuineです。今回は題名の通り普段遣いのLaptopをWi-Fiのアクセスポイントにしてみました。
2018/1/7:最初に書いた設定では一度接続できたあと何故かできなくなったので色々弄ってそれについて更新します。
この記事を真似するときは自己責任で。
参考にしたページ
LinuxPCをWiFiアクセスポイントにする - Qiita
systemd/systemdのserviceタイプ一覧を表示する方法 - Linuxと過ごす
実行した動機
まず、これまでのネットワークは下のようになっていました。
お家の無線ルーター
|
|---------------------- CF-S9(メインで使っているLaptop)
|---------------------- sshサーバーなデスクトップPC
|---------------------- その他スマホなど。
実はこの「お家の無線ルーター」には2つほど欠点があって
1. 管理者の設定により03:00になると自動的に電源がoffになる。
2. 電子レンジがジャミングになって電子レンジを使っているときはネットワークが使えなくなる。
つまり03:00からと電子レンジを使っている最中はデスクトップPCにアクセスできなくなるのだ。まぁsshは良いとして、ネットワークスピーカーとして活用している最中に電子レンジ使うと動画は進んでるのに音が出なくなってうわーってなるのでなんとかしたい。なので
お家のルーター
|
|------------------ CF-S9 ----------------デスクトップPC
|------------------ その他
としてしまおうというお話。
hostapdのインストール、設定
今回はFC-S9に内蔵されているモジュールは自宅無線ルーターにつなぐのに使い、アクセスポイントのためにはこいつを選んだ。CF-S9、PCIカード入るのマジ有能。
$ sudo pacman -S hostapd
$ ip link
で指したPCIデバイスのインターフェース名を確認。このとき、内蔵のがwlp10s0、PCIカードのがwlp12s0であった。
$ sudo vim /etc/hostapd/hostapd.conf
ここの内容に変更があります。
以下内容-----------------------------------------------------------------------------------------------------------------
interface=wlp12s0
driver=nl80211
ssid=YOURSSID
hw_mode=g
channel=7
wpa=2
wpa_passphrase=YOURPASSWORD
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
以上-----------------------------------------------------------------------------------------------------------------------
再度設定したやつ:以下内容--------------------------------------------------------------------------------------
ssid=YOURSSID
wpa_passphrase=YOURPASSWORD
interface=wlp12s0
auth_algs=3
channel=7
driver=nl80211
hw_mode=g
logger_stdout=-1
logger_stdout_level=2
max_num_sta=5
rsn_pairwise=CCMP
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
以上-----------------------------------------------------------------------------------------------------------------------
$ sudo vi /etc/default/hostapd
以下内容-----------------------------------------------------------------------------------------------------------------
DAEMON_CONF="/etc/hostapd/hostapd.conf"
以上-----------------------------------------------------------------------------------------------------------------------
dhcpのインストール
sudo vim /etc/dhcpd.conf
以下内容-----------------------------------------------------------------------------------------------------------------
default-lease-time 600;
max-lease-time 7200;
INTERFACES="wlp12s0";
option domain-name "";
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.20;
option routers 10.0.0.1;
option domain-name-servers 8.8.8.8;
}
以上-----------------------------------------------------------------------------------------------------------------------
IPフォワーディング
これ、2つともやらなあかんのかもしれないしどっちかで良いのかもしれないし。
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
$ sudo sysctl net.ipv4.ip_forward=1
起動
iptablesにNATチェイン追加。これでwlp10s0とwlp12s0を開通させるイメージ。
$ sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o wlp10s0 -j MASQUERADE
2018/1/7追記:コレだけではどうにも開通してなかったので
$ iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$ iptables -A FORWARD -i wlp12s0 -o wlp10s0 -j ACCEPT
$ sudo ifconfig wlp12s0 10.0.0.1 netmask 255.255.255.0 up
dhcpとhostapdの起動
$ systemctl start dhcpd4.service
$ systemctl start hostapd.service
このときdhcpの方がなんて指定すればよいのかわからなくて困った。
そのときに使ったコマンドもメモっとく
$ systemctl list-unit-files -t service
切るとき
$ systemctl stop hostapd.service
$ systemctl stop dhcpd4.service
$ sudo ifconfig wlp12s0 down
$ sudo iptables -t nat -D POSTROUTING -s 10.0.0.0/255.255.255.0 -o wlp10s0 -j MASQUERADE
以上、ほぼ参考にしたページの1つ目。(コレだけではどうにもならなかったのでArch Wikiの設定をほぼ丸コピ。ただbridge項目は無くした)ただ、私のArch環境では「そんなコマンドねぇよ」って怒られたのが何箇所かあったので自分のArch流にして備忘録代わりに書いてみた。Shellスクリプト化して自動化もできそうだけどまだやって見てないからとりあえずこの辺で。あと何故かデスクトップPCをこいつにつなぐとUSBスピーカーから音が出ないのはなぜなのか??もう一回設定見直してみる。
雑記 : ロシア語関係の友人たちと焼き肉行った。めっちゃうまかったわ。また行きたい。
デスクトップPCをワイヤレススピーカーとして使う
ども、BobbyQuineです。Sonyのワイヤレススピーカーって便利ですよね。アナログ入力、Bluetooth、Wi-fiと3種類の入力方法が使えるスピーカーが家にあります。でもこれ、親父の私物なんですよね。自室におんなじようなのが欲しいなー、ということで例のデスクトップPCをちょいと弄って使えるようにしてみました。
この記事にあることを真似するときは自己責任でお願いします。
参考にしたページ↓↓
http://d.hatena.ne.jp/penkoba/20130809/1376064438
https://www.alprovs.com/wordpress/?p=439
環境と動機
まず私の今回の環境について説明しときます。メインで使っているのがPanasonicのCF-S9というノートPC。もう一つ自室には超低スペのデスクトップPCがあり、そいつにはそこそこ音の良いUSBスピーカーが繋がっています。どちらもOSはArch Linuxでalsa関係とpulseaudioはインストールされています。自室にいるときはこのUSBスピーカーを使いたいけどわざわざケーブルを指し直すのも面倒なので内線LANで音声を飛ばしちゃおうという計画。それに加えてすぐにローカルの音声出力に切り替えられることも条件として入れておきたい。んじゃ。
デスクトップ(スピーカー)側の設定
まず、paprefsというパッケージをインストール。
$ sudo pacman -S paprefs
次に/etc/pulse/default.paを~/.pulse/にコピーするこのとき.pulseディレクトリが存在しなかったら作る。
$ cp /etc/pulse/default.pa ~/.pulse
今度はこのコピーした~/.pulse/default.paを編集。
中のに " #load-module module-native-protocol-tcp "って行があるのでコメントアウトを外して
load-module module-native-protocol-tcp auth-anonymous=1
と書く。ノートPC側のローカルIPが固定ならこのノートPCだけ接続可能とかもできるのだけれど、我が家は固定IPにはなってないので。
で、そしたら
$ pulseaudio -k
$ pulseaudio -D
とpulseaudioを再起動。ついでにifconfigでデスクトップPCのローカルIPアドレスを調べとく。
ノートPC側の設定
こっちもpaprefsをいれます。
$ sudo pacman -S paprefs
$ pulseaudio -D
でpulseaudioを走らせて
$ export PULSE_SERVER=192.168.1.26
と環境変数を弄ってやって完成。このときのIPアドレスは自分の環境のやつを使ってください。
試しに動画を再生
ノートPCのTerminal上で先の環境変数を弄ったあとそのTerminal上でvlcコマンドで動画を再生すれば音はデスクトップPCから流れた。成功。なお、この環境変数を弄ったのとは別のTerminalからvlcを立ち上げるとノートPCから直接音が出る。これは便利だわ。
以上、デスクトップPCをワイヤレススピーカー化したお話でした。
ぶっ壊れたUbuntuのUnityを治す
ども、BobbyQuineです。随分前にUbuntuくんが壊れて何が起こっとるんじゃーってなってた私ですが、まぁなんとなく「Unity重いしこの前フリズったときにおかしくなったんだろーなー」とは思ってたわけです。んじゃUnityをリセットしちゃえばええやんということでググったらこんなページを見つけた。今回の記事はこの記事まんま↓↓
http://www.oceanwave.jp/index.php?Linux%2FUbuntu%2FUnity%A4%AC%B2%F5%A4%EC%A4%BF
とりあえず<Ctrl>+<Alt>+<F1>押したらCUIでのやつになるのでそこでログインして
$ sudo apt-get install unity-tweak-tool
$ unity-tweak-tool --reset-unity
でおっけ。てっきりUnity再インストールとかかなー、めんどくさいなーって放置してたのだけれど思ったより簡単で助かった。
そういえばかなり前になりますけどUnity、開発やめちゃいましたね。将来的にこの記事ほとんど役に立たねぇな。
データファイルを読み込んでグラフにプロットしてくれるソフトgnuplotの紹介
ども、BobbyQuineです。友人宅にて徹夜なうなのですがそこで大学課題で使えそうなgnuplotというものを教わったので備忘録がてら紹介しときます。まぁ実際やってったことを紹介してったほうがわかりやすいと思うので(ry
この記事にかかれていることを実践する場合は自己責任で。
gnuplotのインストール
今回も今までどおりArch Linuxでのものになります。多分他のディストリビューションでも標準のパッケージ管理システムに入っていると思うので。
使い方
まず、プロットするデータが必要です。このgnupoltで読み込むデータは以下のように
1 1
2 2
10 10
x座標<スペース>y座標 というものを改行で連ねたデータになっている必要があります。そこで例えば下のC言語で書かれたプログラムのようにデータを用意します。
以下ソースコード sin.c --------------------------------------------------------------------------------------------
#include <stdio.h>
#include <math.h>
int main(void){
double a;
FILE* fp;
fp=fopen("sin","w");
for(a=0;a<2*M_PI;a=a+0.0001){
fprintf(fp,"%lf %lf\n", a, sin(a));
}
fclose(fp);
return(0);
}
以上ソースコード----------------------------------------------------------------------------------------------------
でまぁこいつの場合 " sin " って名前のファイルができるわけです。次に
$ gnuplot
で起動すると " gnuplot > " となって入力が待機されるわけです。そこに
gnuplot > plot "sin"
とすると正弦波に沿うように点がプロットされます。また、
gnuplot > plot "sin" with lines
とするとその点同士が線で結ばれていくわけです。で出力結果は以下のようになります
そしてここで先程のプログラムを少々改変して余弦波のデータを " cos " というファイル名で保存していて、以下のようにすると同じ盤面にグラフが追加されます。
gnuplot > replot "cos" with lines
gnuplot > quit
でgnuplotを終了できます。と、まぁこんな感じのものの紹介でした。バーイ!!