ubuntu 14.04 で Skype for Linux を使う

<環境>
Lenovo IdeaPad S10-3
Ubuntu 14.04.2 LTS

<やりたいこと>
ubuntuskypeを使うため、オーディオデバイスの設定を行う

<手順>

1. Skype for Linux をインストールします。www.skype.com




2. サウンド設定をします。

オーディオデバイスとマイクを有効にするため、PulseAudoaをインストールします。

コンピュータとSkype for Linuxでサウンド設定を調整する方法を教えてください。

No sound in Lubuntu 14.04 - Ask Ubuntu


3. PCを再起動します。
※再起動しないと、Skype側でPulseAudioの設定ができませんでした。

4. Skype でサウンドデバイスの設定をします。
Skype -> Option -> Sound Devices の画面で各オーディオデバイスに「PulseAudio server」
を選択します。


<感想>
一ヶ月程前からレアジョブを始めたのですが、webカメラが無いことから
先生に全然顔を見せずにレッスンを受けていて、このままでは良くないかな
ということで、今回、あまり使っていなかったネットブックskype
インストールしました。
これならwebカメラは内蔵されているので、先生に顔が見せられます。
レアジョブももっと頑張れるかな。

一石二鳥なRFCの読み方

昨日、偶然ありがたい機能を発見しました。
それはChrome Extensionの「Google Dictionary」のhistory機能です!
私、今まで使っていながら、知りませんでした。。

history機能はOptionから、「Store words I look up, including definitions」をチェックすると有効になります。
以後、Google DictionaryでPop-up検索した英単語がhistoryに保存されます。
保存されたhistoryはcsvでexport可能です。
なんて素晴らしい!感激して一人ほくそ笑んでしまいました(笑)


そこで、このGoogle Dictionary と Ginger を使って、RFC等の仕事関連の英語文献を読みつつ、英語学習にも役立ててしまおう、と思いました。

考えた方法は以下です。
RFCで知らない単語はGoogle Dictionaryのpop-upで調べる
 →historyに保存される
RFCの要点は、Gingerでまとめる
 →英文校正してくれる、誤りはGingerにストックされる
・historyをexportする
 →時間を空けすぎると忘れてるので、一週間を目処に実施


どうせRFC読むなら、英語力も向上させたいものです。
今までは、和訳してましたが、Ginger は PREMIUM にしたし、使わないともったいないので、この機に英語だけで考えることをします!
実践あるのみですね!

Ginger PREMIUM を使ってみた

Ginger は英文を書くためのツールとして使用しています。
free でも英文をネイティブのような自然な文章に校正してくれる Rephrase という機能が使えて、十分重宝してますが、今年は個人的に「英語を頑張る年」と決めたので、思い切って PREMIUMを購入してみました。

PREMIUMで最も良かったのは間違った文章を記憶し、テストを実施できる機能です。
これがPREMIUMにすることも大きなメリットだと思います。

やっぱり復習をしないと、記憶に定着しないので、自分で意識的にコツコツ継続して努力していくことが必要なんですが、私みたいに飽きっぽい人間には難しい。。
Gingerだと、自動的に間違いを記憶してくれるので、弱点だけを重点的に復習することが容易だと思います。

そこでGingerを使った英語学習法として考えた手法は以下。
・参考書の英文をGingerで書く
・間違いをGingerで記録
・日々テストを実施して復習
・(息抜きに)Gingerで日記を書く
・日記をTwitterにアップする

参考書の英文をそのままGingerで書くわけですが、私はまだ英語の一時記憶の能力が低いので、短いセンテンスでも覚えきれなかったり、間違えて覚えてたりします。
普通のエディタで書くと、間違っていることすら気づかなかったりするのですが、Gingerだと、ほぼ確実に文法的な誤りは正しく訂正してくれます。
また、誤りに気づいた上に、それをテスト問題としてストックしてくれています。
この方法なら、英語学習が効率的に進められそうです。

また、iPhone用のGingerのアプリもあります。
それでは、Twitterと連携して、書いた英文をTwitterにアップすることができます。
これにより、自分の英文に対して反応があったりすれば、さらにモチベーションも上がりますよね。

PREMIUM は一年契約なので、この一年は、日常的にGingerを使って、英語をもっと身近にしていこうと思います。

よし、TOEICも受けよう!!

C言語能力試験 1級 受けてきました

今日は、C言語能力試験 1級を受講してきました。
一週間前になって、もう間に合わないと諦めて、ほとんど勉強せずに受験してきました。。
(どうせ受からないし、受験するかも迷っていた程です)
しかし、まだ結果は出ていないので何とも言えませんが、予想外に手応えを感じました。
ここで、試験の内容と対策などについて、メモしておきます。

試験問題
2問でます。
1問 50点で、合格ラインが60点のようです。

問題の傾向・対策
既存プログラムに一部の機能を追加・変更する、といった感じです。
1問目はさほど難しくなく、既存プログラムをある程度理解できていれば、その内容を元に実装できる感じです。
今回は、既存の処理をコピペでほぼ完成させることができ、実感として易しく感じました(動作確認もOKでした)。
2問目は難易度が上がり、既存の処理から引用する、といったことはできず、新規に作成する必要があります。
私は、C言語の文法が若干怪しいので、基本的な所でエラーになって、戸惑ったりしてしましました。。

私の場合、”どう書けば良いか分からない”という基本的な文法の知識が欠如しているので、そこを強化していこうというのが今後の課題です。
C言語プログラミング能力認定試験 1級 過去問題集」は買ってあるので、これを解いて、文法の復習をしつつ、ソースを読み慣れることが必要だと感じます。


【試験を受けてみて】
専門はプログラマではなく、ネットワークエンジニアなので、プラスαという意味で、基本的なプログラミングの知識を身につける手段として受験しました。
最初は、無理だと諦めがちでしたが、それほど手が届かないという難易度ではないです。
もし落ちてたら、絶対次も受けて受かります!!

ま、といっても、試験の合否ではなく、プログラミングを継続的に学習していくってのが、重要ですね。

Ubuntu にログインできない!

Ubuntu 14.04 に ログインしようとしても、ログインできない自体になりました。(パスワードを入力してもログイン画面に戻ってしまう)
原因は、おそらく リモートデスクトップの環境を構築しようと sudo aptitude fxce4 を実行したことにあるのではないかと思われます。。

ひとまず問題は解決したので、解決方法はメモ。

rm .ICEauthority
rm .Xauthority

関連
Ubuntu日本語フォーラム / ゲストでしかログオン出来ない: 12.04

Ubuntu Xサーバー その3 - ログインしてもログイン画面に戻される時は - Ubuntu kledgeb

Ubuntu 14.04 openssh-serverのインストールエラー

openssh-serverをサクッとインストールして、sshしよー、と思って以下のコマンドを実行したらエラー。

~$ sudo apt-get install openssh-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 openssh-server : Depends: openssh-client (= 1:6.6p1-2ubuntu1) but 1:6.6p1-2ubuntu2 is to be installed
                  Recommends: ncurses-term but it is not going to be installed
                  Recommends: ssh-import-id but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

見慣れぬエラーで焦りましたが、openssh-serverには、openssh-clientの1:6.6p1-2ubuntu1が依存しているが、現在インストールされているのは1:6.6p1-2ubuntu2 だよ、という意味なので、以下のようにして解決しました。

$ sudo apt-get install openssh-client=1:6.6p1-2ubuntu1

$ sudo apt-get install openssh-server

こちらのサイトを参考にしました

14.04 - SSH installation errors - Ask Ubuntu


補足

ssh-serverインストール後、早速ssh接続しようとして、またエラーになりました。
ssh接続を開始すると即切断される様子。
原因は、/etc/hosts.allow に sshd を追加していないためでした。
以下のようにして解決。
※末尾のドットを忘れずに付与!(私は忘れてssh接続しようとしたら"ssh_exchange_identification: Connection closed by remote host"と言われて悩みました。。)

# vi /etc/hosts.allow 

in.telnetd: 192.168.
sshd: 192.168.

参考
SSHの設定 - sshd:tech.ckme.co.jp

UbuntuでNATを有効にしてルータ化する

PCの環境
Ubuntu 14.04.2 LTS

条件
NICが2枚以上あること

構成図

[Client-PC] ----- eth1 [NAT-RT(※)] eth0 ---- [Internet]

※ がここで構築するNATルータ。eth1にはプライペートアドレスが設定されている。NATルータのeth1でDHCPサーバを動作させて、Client-PCにプライベートアドレスを割り当てている。今回は、Client-PCがInternetに接続するために、NAT変換とルーティングの設定をする。


手順

1.ubuntuでパケットをルーティングさせるため、forwardingの設定をします。

$ sudo -i
# echo "1" > /proc/sys/net/ipv4/ip_forward

これだけだとPCを再起動すると設定が元に戻ってしまうため、設定ファイルも変更します。

# vi /etc/sysctl.conf 

net.ipv4.ip_forward=1


2.NATの設定をする

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

インターネットに接続しているIFを指定。
これでプライベートアドレスをインターネットに送信する際に送信元アドレスが変換される。


3.iptables起動スクリプトの作成

$ sudo /sbin/iptables-save -c > /etc/iptables.rules
$ sudo vi /etc/network/if-pre-up.d/iptables_start

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0
$ sudo chmod +x iptables_start


直接、iptables.rulesを編集して読み込むこともできます

iptables.rulesを編集後、読み込む

# iptables-restore < /etc/iptables.rules 

iptables-save を実行すると、変更後の設定が表示されます



参照サイト
まさおのブログ (表): Ubuntu でルータ (IPv4)

iptablesテンプレート集 改訂版(8):知らなきゃ損するiptablesのTips (1/3) - @IT

Routing - Ubuntu 14.04のルーター化 - Qiita

How To Set Up a Firewall Using Iptables on Ubuntu 14.04 | DigitalOcean


DHCPサーバの設定は以下で書いてます
ubuntu で dhcp-server を構築 - maruchan_shiro123’s blog


補足

現在の iptables の設定を確認する方法に戸惑ったのでメモ。

iptable-saveコマンドについて
・一般ユーザから iptables-save を実行しても何も表示されない
・sudo -i で特権ユーザになって、iptables-save を実行すれば、現在の設定が表示さえる

iptableコマンドについて
iptables -L -n では何も表示されなくても、iptatable-saveでは表示される
iptables -L -n で何も表示されないのは、一般ユーザでも特権ユーザでも同様


iptables の設定を追加する際は、 sudo -i で特権ユーザになって、通常の iptables コマンドを実行すれば良いみたい

$ sudo -i

# iptables -A INPUT -i lo -j ACCEPT

# iptables-save

これで追加したチェーンが、iptables-saveコマンドで表示される(iptables-saveをオプションなしで実行すると、現在のiptablesの設定が表示される)
それを上記のiptables-saveコマンドで保存すればok