grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2018年5月27日日曜日

Ubuntu 18.04 LTS: ファイアウォール、ファイル共有、画面共有、SambaやVNCなど(Macと)

MacとUbuntuでファイル共有しているので、その設定の覚書。
・ファイアウォールを設置する
・ファイアウォールで特定の通信を許可する
・Sambaへの登録
・MacからUbuntuへアクセス(smb://~)

ついでに、画面共有も(vnc://~)。
・MacからUbuntuを覗く
・UbuntuからMacを覗く


Ubuntuへのファイアウォール設置:
Ubuntuソフトウェアから「gufw」で検索し、

ファイアウォール(gufw)をインストールし起動。
要管理者パスワード。

設定画面でステータスを「オン」。
このままだと外部からのアクセスはできなくなるので、以下の方法で特定の通信を許可する。

「ルール」タブをクリック。
画面下の「+」を押して特定の通信を許可する設定を追加。

一番下の空欄へ「smb」を入力すると「アプリケーション: SAMBA」が選択される。
「追加」を押して終了。これでSambaによる通信が可能となるようです。


Ubuntu側のファイル共有設定をする:
Ubuntu側のホーム以下にあるPublicとPicturesを共有することにします。
まず、「Public」を右クリックで「ローカルネットワーク共有」を選択。
そうすると以下の画面。
とりあえず3箇所にチェックを入れて制限を緩めにしておく。
同様に「Pictures」など他のディレクトリも共有したい場合は同じようにチェックを入れておく。
一旦閉じて、再度「Public」を選んで中身を見る。
右上の「共有の設定」を押す。Sambaがインストールされていなければ「サービスのインストール」でインストールする。

「共有の設定」が押されると「設定」の「共有」へジャンプし、
ここで「ファイル共有」をクリックし、
パスワード入力やネットワークをオンにしておく。
以上で共有するディレクトリの設定は終了。
基本これだけでもファイル共有可能。


Sambaへユーザーとパスワードを登録:
ターミナルを起動し、Sambaステータス確認。

service smbd status

以下のような感じでステータスが出てくる。

次に、ユーザーとパスワードを登録しますが、登録名はUbuntu上のユーザー名と同じにしなければいけないようです。

sudo pdbedit -a username

を入力すると(usernameはUbuntu上のユーザー名)、ルート管理者パスワード入力のあとSamba用パスワード設定を求められるので入力設定(Ubuntuルート管理者パスワードとは異なってもOK)する。これで登録終了。
Ubuntu上のユーザー名以外を登録しようとすると、

Failed to add entry user username

と最後に出てきて登録失敗します。
ちなみにSambaに登録したユーザーの削除は以下。

sudo pdbedit -x username

Samba登録者リストの表示(登録されているかどうか確認)は以下。

sudo pdbedit -L

を入力すると、

username:1000:username

という感じで登録者が表示される。
より詳細にリスト内容を表示させるには-vをつけて、

sudo pdbedit -L -v

を入力。
以上でSambaへの登録終了。

もしSambaの再起動が必要なら以下。

systemctl restart smbd nmbd


MacからUbuntuへアクセス:
Macのメニューバー>移動>サーバへ接続...(Command+K)

「サーバアドレス:」へ「smb://UbuntuのIPアドレス」を入力。

smb://192.168.3.7

UbuntuのIPアドレスを調べるにはUbuntu上のターミナルで「ifconfig」を入力。
「127.0.0.1」はlocalhostなので、次にある「192.168.x.x」など。

ゲストで接続(パスワードなし)なら「ゲスト」を選択し「接続」。


また、Sambaの登録ユーザ+パスワードで接続する場合は以下。

Ubuntuの管理者パスワードを入力してもダメと言われるのでSamba用パスワードを入力。
接続すると、
ボリューム選択の画面へ。Ubuntu側では「Pictures」と「Public」の二つのディレクトリを共有化しているので、この二つが出てきます。
「Public」の方を選ぶと、
このようにMacのデスクトップ上にマウントされます。
ファインダーでは以下ような感じ。
画面右を見るとMac上に「Public」がマウントされており、「ネットワーク>192.168.3.7」以下には「Pictures」と「Public」もあります。
画面左の「共有」には「192.168.3.7」があり、画面右の「ネットワーク>192.168.3.7」に対応しています。
マウントされたのは「Public」でしたが、Ubuntu側では「Pictures」と「Public」を共有化しているため結局は両方にアクセス可能。あるいはゲストでも登録ユーザーでも同じ結果。
「共有」の「192.168.3.7」をアンマウントすると接続解除


しばらくすると再接続できなくなる:
接続解除したあと再接続しようとすると接続できなくなることがあります。
先ほどは「Finder>移動>サーバへ接続...(Command+K)」で、

smb://192.168.3.7

を入力して接続しましたが、以下のように接続失敗してしまいます。

どうやらUbuntu側のサーバがダウン(タイムアウト)しているようで、Ubuntu側のターミナルで、

systemctl restart smbd nmbd

を入力すればサーバが再起動されてMac側からサーバを認識できるようになるようです。

追記:
どうやらWifiドライバのせいで接続が途切れるようで、それについては以下。

Wifiが途切れる(解消)/ Ubuntu 18.04LTS / MSI GS43 GTX1060 / QCA6174



VNCによる画面共有/MacからUbuntuを覗く:
Ubuntuの「設定>共有」で「画面共有」をアクティブにする。

チェック項目、パスワード設定、それぞれをオンにしておく。

次にファイアウォールの設定。
一番下の空欄に「vnc」を入れると「アプリケーション:VNC」になります。
「簡易」タブをクリックし、「ポート:5900」などと任意のポート番号を入れておきます。「追加」、「閉じる」で設定終了。


Macのほうで、「移動>サーバへ接続...」から、
「vnc://UbuntuのIPアドレス」を入力して「接続」。

設定したパスワードを入力して「接続」。

少し反応が鈍いですが、MacからUbuntu上のターミナルも操作できます。


VNCによる画面共有/UbuntuからMacを覗く:
Macの「システム環境>共有」から、「画面共有」にチェックを入れておく。
そうすると「画面共有:オン」の下に「vnc://192.168.3.2/」などとアドレスが表示されるので、後でそのアドレスをUbuntu側で入力する。Macの設定は以上。

次にUbuntu側。
Ubuntuソフトウェアから以下をインストール。
「Remmina」というのもありますが、こちらの「デスクトップビューアー」が使いやすかったです。

起動すると以下の画面。
「VNC」を選び、その下にMacのIPアドレスを入れるだけ。
画面サイズ設定にチェックを入れ「接続」。

表示される前に、Mac側のユーザー名とパスワードを入れて「認証」を押す。
そうすると以下のように表示されます。

とりあえずウィンドウ内に映し出しサイズなど調整してからフルスクリーンにするといいと思います。
フルスクリーンでは、向こう側の画面を操作することが優先されるため画面を元に戻せなくなりますが、画面中央上部にマウスを持っていくと隠れスイッチが出てくるので、そこで元の画面に戻ることができます。

2018年5月25日金曜日

Ubuntu 18.04 LTS:各種設定・機能拡張(Extensions)など

Ubuntu 18.04インストール後、いくつかのセッティングをしました。今後インストールし直すときもあるかもしれないのでカスタマイズした設定の覚書。


日本語入力・切替え:
普段Macも使っているのでスペースキーを中心に、[英数][スペース][かな]の三つのキーで切替入力変換できるように[無変換][スペース][かな]のキーへ割り当て。

とりあえず以下から。
「日本語(Mozc)」だけでも日本語変換は可能でしたが、「日本語(OADG 109A)」を入れないとキー配列が日本語キーボードとずれてしまうので両方入れました。

デスクトップのメニューバー右端を見るとこんな感じででてきます。

最初は上下で日本語と英数を切り替えるのかと思っていたら、「日本語(Mozc)」だけを使って切替えるようです。普段は下の「日本語(OADG 109A)」には切り替えないらしい。これは単にキー配列のためだけに入っているのかもしれない。クリックでこれに切替えると半角英数のみで日本語切替してくれないため、挙動が変ならここをチェックしてみるといいのかもしれない。
ちなみに、何もしていないときに入力切替しても何も起こらず、実際に入力を行っているとき(画面などにフォーカスを与えて)にはじめて切替可能となるようです。試しにキーボード押して何も起こらないからといって焦らないように。

キーマッピング:
そして入力切替のためのキーマッピングですが、上画像のプロパティをクリックすると以下の画面が出てきます。
左画面下のほうの「キー設定の選択」で「MS-IME」を選んで「編集」を押すと、「MS-IME」ベースのキーマッピングをカスタマイズできるようです。ただし一つでも変更すると、「カスタム」という名前になってしまうようです。
今回は右画像にあるように、[Muhenkan]キーと[Hiragana]キーの二つに追加でマッピングしてみました。
英数に切替えるには、とにかく「IMEを無効化」すればいいようです。日本語の場合は、「直接入力」の時だけ「IMEを有効化」し、そのほかは「ひらがなに入力切替」にすればいいようです。基本的にはこの4種類の状況においてマッピングすればいいようですが、同じキーが使われていないかこのリスト内をチェックする必要があります(同じキーがある場合はその項目を削除)。
これで、Macのように日本語切替できるようになりました。


Homeディレクトリ以下を英字表示に変更:
日本語化してしまうと、ホーム以下にあるデスクトップ、ドキュメント、ダウンロードなどのディレクトリ名も日本語になってしまいcdコマンドなど使う際に面倒になるので、それらを英字表記に変更。

LANG=C xdg-user-dirs-gtk-update

をターミナルから入力して変更。変更内容について再度確認してくるので、「Don't ask me this again」にチェックを入れつつ「Update Names」をクリックして再ログイン。
そうすればこのように各ディレクトリが英字表記に切り替わります。
左側の「ホーム」と「デスクトップ」だけはなぜか変わらないけれども特に問題ない。


GNOME Tweaksをインストール:
GNOME Tweaksを使うとより細かい設定ができるようなので、「Ubuntuソフトウェア」から「gnome tweaks」で検索しインストール(sudo apt install gnome-tweak-toolでも構わない)。

通常使用している「設定」ではできないことが可能になりますが、「機能拡張」欄にあるようなGNOME Shell Extensionsを追加していくことでかなりカスタマイズできるようです。

現在はこのようなExtensionsを入れてあります。これらの一部は「Ubuntuソフトウェア」の「ユーティリティ」などからもインストールできますが、「GNOME Shell Extensions」というサイトに行けばもっと見つかります。


GNOME Shell Extensionsからインストール:
GNOME Shell Extensions(要ログイン)に行きキーワードで検索すればたくさん機能拡張が出てきます。すべてクリック操作なので気軽にインストールできます。
こんな感じで「Installed extensions」というページに行けば、パソコンにインストールしてあるExtensionsと同期して機能のON/OFF、設定、アンインストールがブラウザ上でできます。
特に気に入ったものが以下です。


これは画面上部のトップバーにアプリメニューバーを組み込む機能拡張です。
通常トップバーにはアプリの操作メニューがでてこないため、もう一段下にアプリ用メニューバーがでてくるところ、その二段をひとつにまとめてくれます。
特にChromeを開いているときには、Chromeのメニューバーが出てこないため不便でしたが、これを使うことで表示するようになりました。
こんな感じでMacと同じように「ファイル 編集 表示・・・」という感じでトップバーに現れます。他のアプリでも同じように現れてくれるので便利です。
ただ、Ubuntu 18.04の場合は最新のものを
からダウンロードし、解凍したファイルの中身を
~/.local/share/gnome-shell/extensions
の中に入れる必要があります。さらに、そのままでは設定ができないので、ここに書いてあるように
sudo apt install gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-gtkclutter-1.0
で依存ファイルをインストールすれば問題なく動きます。


NO Title Bar:
これはタイトルバー(アプリウィンドウ上部のバー)を消す機能拡張。ならびに、左上に設置したウィンドウボタンの位置も変えてくれます。
以下はAtomエディタを使った場合ですが、通常トップバー、タイトルバー、メニューバーの3段構成になって上2段が無駄に見えます。

しかし、先ほどのGnome global Application menu(HUD for Gnome)と合わせて使うと、以下のように1段にすっきりとまとまってくれます。
もともと、トップバーやタイトルバーが無駄だと感じていたので、これで納得です。

できるだけ一本のバーにまとめたいということから、似たようなもので「Dash to Panel」や「TaskBar」という機能拡張もあります。MacのDockのようにお気に入りのアプリなどを入れておくことができるトップバー(あるいはボトムバー)になり、さらにアプリのメニューもいっしょに入れることもでき、トップバー、Dock、メニューバーを一本化できます。試しにやってみましたが、アプリメニューもバーに入れてしまうと、あまりにもごちゃごちゃしたのでやめました。


Extensions:
これは、インストールしたExtensionsをトップバーからのメニューでON/OFF/設定できる機能拡張です。
GNOME Tweaksでも可能なのですが、手っ取り早く設定できるのであると便利です。一番下のAdd gnome shell extensions...をクリックすればサイトへ飛んでくれます。
一時的に機能を中断したり、Extensionsの品定めしているときには便利。


Gno-Menu:
トップバーからアプリなど選択できるメニューの機能拡張。グリッド状に複数のアイコンが配置されるため探しやすい。主なディレクトリ、最近使った書類、頻繁に使うアプリ、ブックマークなどもある。最近更新されたようでワークスペース選択もできる多機能。

トップバーにはこのMenu(上画像では足跡マーク)以外にもViewやAppsも追加できる。ViewやAppsは場所がとられてしまうので、最低必要なMenuだけでも十分。
このGno-menuだけでもたくさんのことができる。つい欲張って多機能にしようとすると煩雑になってくるので、必要な部分だけを使うと言う感じ。もともとトップバー左端には「アクティビティ」というクリックエリアがあったけれども、それも消してしまいました。


Dash to Dock
DashをDockに追加させるだけでなく、Dock自体いろいろ調節できる機能拡張。
Dockはデフォルトのままだと融通が効かないのでこれもExtensionsでなんとかならないかと。
トップバーとメニューバーの一本化はできたので、あとはよく使うアプリなどをいれておく場所なのですが、さきほどのGne-MenuがあるのでもはやDock自体あまり必要なさそう。ただ、以前もよく使っていたのでできれば使いたいという感じ。
画面左上に主な機能が集中しているので、今回もまた画面左にDockを設置することに。
・ダッシュを一番上に配置(たぶんあまり使わない)
・アプリ画面最大化(あるいは重なると)の際にDockが自動的に隠れる
・マウスを左端に持って行けば再びDockが出てくる
・Dock上でマウスホイールを動かすとworkspace移動
というくらいでしょうか。サイズ、色や透明度も変えられ、デフォルトよりは細かく設定できます。

左:Dockが隠れている時、右:マウスを画面左端につけるとDockが飛び出てくる。
もともと、トップバー1本(ボトムバーなし)にできるだけ機能を集中させ、必要に応じてDockが左から出てくるようにしたかったので、これで大体想定していた構成になりました。あとは以下にあるような細かなパーツをトップバーに組み込む感じ。


Clock override:
トップバー上の時計のフォーマットを自由に変えられる機能拡張。
年/月/日/曜日/時/分/秒の表示が可能。そのほか任意の言葉なども表示できます。
デフォルトだと年が表示できなかったような。


Show Desktop Button:
デスクトップを瞬時に見ることができるトップバー上のボタン。上画像真ん中の家型のボタン。


WorkspaceBar:
ワークスペースを移動するためのトップバー上のボタン。上画面左端。
ほかにもWorkspace用の機能拡張はいくつかあるのですが、これが使いやすそうでした。現在のワークスペースの数、そしてワンアクションで行きたい番号をクリック。マウスホイールでも移動可能。
ただしこのままだと設定をクリックするとバグってしまう。少し古いタイプなのか、gtk2.0開発環境をインストールしてみることに。

sudo apt-get install libgtk2.0-dev

でインストールすると無事設定ができるようになりました。以下が設定画面。位置が調節可能。
もしかすると、少し古いタイプでもgtk2.0を入れれば動くのかもしれません。


Trash:
ゴミ箱をトップバーに表示する機能拡張。
以前はDockの一番下の方にあったゴミ箱だけれども、Ubuntu17.04あたりからデスクトップの任意の位置に表示され、どこに置こうか迷ってしまう。というよりも邪魔なのでゴミ箱を非表示にして、そのかわりにこのTrashをトップバー上に置いてすっきりさせました。
一応トップバーから空にする/開く/中身の確認も可能です。
いつも不要ファイルを右クリックしてゴミ箱に入れているので、デスクトップ上になくても特に問題なし。


GDebi Package Installer:
Ubuntuソフトウェアからインストールするdebファイルインストーラアプリ。

いままではdpkgコマンドを使ってdebファイルをインストールしていましたが、gdebiコマンドを使うと依存関係も解決しながらインストールできるようです。それのGUIアプリで、ダウンロードしたdebファイルを選択してインストールボタンを押すだけなので使いやすい。


Atom editor:
普段使っているエディタ。前から使っているのでダウンロードしておきましたが、Ubuntuソフトウェアからインストールすると日本語入力できないAtomになってしまいます。再度、https://atom.ioからdebファイルをダウンロードして先ほどのgdebiでインストールし直したら日本語入力できるようになりました。
ちなみに、Anaconda NavigatorからはVSCodeが簡単にインストールできます。VSCodeのほうが軽快に動くので、そっちのほうがいいかもしれません。
Dockへのランチャー登録は、DashからAtomを見つけ出し右クリックで登録するか、ターミナルでatomと入力して起動するとDockにアイコンがでるのでそのまま右クリックで登録。


Polo File Manager:
二窓のファイルマネージメントアプリ。
複数のフォルダ間のファイル移動やコピーなど多い時は便利。


Obmin:
ワンクリックでファイルシェアリングできるHTTP(HTTPS)ファイルサーバー機能拡張。
トップバーからオンにすると、他のPCのブラウザ上からアクセスできるようになります。
ブラウザを通して画像など閲覧/ダウンロードできるので便利です。
これは設定画面ですが、共有したいディレクトリやフォルダを複数追加できます。チェックを外して停止させたり、サーバごとオフにすることも簡単にできます。
ちなみに他のPC上のブラウザ(http://192.168.3.2:8088にアクセス)からはこのように見えます。必要なファイルをダウンロード(あるいはドラッグ&ドロップ)するだけです。


Firewall Configuration:
Ubuntuソフトウェアから入手できるgufwというファイアウォール機能拡張。
起動と同時にパスワード入力が必要。設定画面内でオンにすればいいだけ。
ただし、ローカルネットワーク内でのファイル共有をするには、オンにしたあとに「ルール」ボタンを押して設定を追加(+ボタン)する必要がある(設定が面倒であれば一時的にオフにするしかない)。

関連:
Ubuntu 18.04 LTS: ファイアウォール、ファイル共有、画面共有、SambaやVNCなど(Macと)


まとめ:
いろいろカスタマイズするのは楽しいのですが、あまりにも機能を積み込みすぎると重くなりそうなので、できるだけ少なくしてみました。
結果的には大体頭に思い浮かべていたような感じにはなりました。個人的にはGnome global Application menu(HUD for Gnome)を使うことでトップバー周辺がすっきりしたのが一番の収穫。
MacとUbuntuの2台使っているのでファイル共有はあると便利。
GNOME Shell Extensionsにはたくさんの機能拡張がありますが、古いものの多く必ずしも動くとは限りません。しかし、gtk2.0など古い開発環境などインストールしておけば(sudo apt-get install libgtk2.0-dev)少しは動くかもしれません。

人気の投稿