2018-08-29

Fedora on GPD Pocket (4)

GPD Pocket に Fedora をインストールして、プライベート用のサブノートとして毎週の出張に持ち歩くようになって半年余り。突然 WiFi が使えなくなってしまいました。迂闊にもパッケージアップデートとの因果関係が解らなくなってしまったのですが、まずは dmesg コマンドで起動時のエラーを見てみました。

dmesg コマンドと error の部分を表示
$ dmesg | grep error
[    8.557787] systemd-gpt-auto-generator[570]: Failed to dissect: Input/output error
[   10.082529] bluetooth hci0: Direct firmware load for brcm/BCM4356A2.hcd failed with error -2
[   10.502967] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac4356-pcie.clm_blob failed with error -2
$ 

なんだかよくわからないところでもエラーが出ていますが、Bluetooth マウスは幸い使えました。Wifi の素子が壊れたのかどうか判断出来ませんが、WiFi を使えないのはとても不便です。詳細な調査はおいおいやっていくことにして、とにかくネットワークを使えるようにしたい!

幸い、手持ちの Buffalo 製のコンパクトな USB 2.0 の WiFi 無線 LAN 子機を挿してみたところ、認識されてネットワークを利用できるようになりました。ひとまず安心なのですが、使っているととても熱くなるので、いつ壞れるか心配です。そこでバックアップ用にに同じような USB WiFi 無線 LAN 子機を Amazon.jp でいくつか買って試してみました。

手頃な値段のものを三つばかり買ったのですが、挿しただけですぐ認識されて使えたのは、一番安かった下記の製品だけでした。

Linux ではまだまだデバイスとの相性があるということは実感しました。機会があれば他のディストリビューションでも試したみたいのですが、とりあえず備忘録として残しておきます。

参考サイト

  1. TP-Link Japan - 家庭用・ビジネス向けネットワーク機器の製造・販売

 

今回買ったのは以下の三種類でした。

ブログランキング・にほんブログ村へ
にほんブログ村

2018-08-17

Apache NetBeans 9.0

ニュースとしては古くなってしまいましたが 米国時間 7 月 29 日にApache NetBeans 9.0 がリリースされました [1]

Java をはじめとしたプログラミング言語の開発環境としてオープンソースの Eclipse が有名ですが、NetBeans もまた オープンソースの統合開発環境 (IDE) です。私は JavaFX でプログラムを開発するのに便利だったので、Java/JavaFX の開発環境としてずっと使ってきました。ただ 2016 年に NetBeans IDE 8.2 がリリースされた後、新規のリリースが止まり Java 9 以降への対応が待たれていました。NetBeans のリリースが止まった理由は、NetBeans を所有していた Oracle 社が NetBeans を Apache Software Foundation (ASF) へ寄贈したことに因るものなのですが、あらためて NetBeans の誕生から今までの経緯を簡単に紹介します。

NetBeans IDE 開発経緯

開発初期の事柄は参考サイト [2] を参考にして、NetBeans に関わる出来事をまとめました。

  • 1996年  チェコのプラハ・カレル大学の学生プロジェクトで、Xelfi という Java 用 IDE が誕生しました。
    • Delphi のような IDE を Java 用に開発することが目標でした。
  • 1997年  Roman Staněk 氏が Xelfi 開発メンバーと意気投合し、NetBeans, Inc. を起業しました。
  • 1999年  Swing をサポートした NetBeans DeveloperX2 をリリースしました。
  • 1999年  当時の Sun Microsystems 社が NetBeans, Inc. を買収
  • 2000年  Sun Microsystems 社が NetBeans IDE をオープンソースプロジェクトとしてリリースしました。
    • NetBeans コミュニティはその後大きく成長しました。
  • 2010年  Oracle 社が Sun Microsystems 社を買収後は NetBeans IDE は Oracle 社の所有になっていました。
    • NetBeans IDE は Oracle 社が開発している統合開発環境 (IDE) である JDeveloper と競合していました。
  • 2016年 9月13日  Oracle 社はこの NetBeans IDE を Apache Software Foundation (ASF) の Incubator プロジェクトとすることを提案
  • 2016年10月 1日  ASF の Incubator プロジェクトのひとつになりました。
  • 2016年10月 3日  Oracle 社からの最後のリリースとして NetBeans IDE 8.2 がリリースされています。
  • 2018年 7月29日  2 年近くを経て Apache NetBeans 9.0 がリリースされました。
    • IP に抵触する部分を取り除く作業が続けられていました。

Apache NetBeans 9.0

  • JDK 9, JDK 10 への対応
    • Local Variable Type Inference(ローカル変数型推論)をサポートし、Java 10 の var 型のリファクタリングに対応
    • Java 9 のモジュール機能 Jigsaw のサポート
      • Classpath に加えて Modulepath が加わり、単一の JDK 9 モジュールとして、デフォルトのパッケージを module-info.java に記載して利用できる。
    • 新しい Java Modular プロジェクト型
    • JDK9 の Java Shell のサポートを導入したことで、Read-Eval-Print-Loop(REPL)が利用できるようになった。

Fedora 28 上で使う

インストールしてある OpenJDK

NetBeans をインストールする前に、使っている Fedora 28 にインストールされている OpenJDK 関連のパッケージを調べてみると、以下のように OpenJFX (JavaFX) を含む Java 8 系のパッケージだけでした。

$ rpm -qa | grep openjdk | sort
java-1.8.0-openjdk-1.8.0.181-7.b13.fc28.x86_64
java-1.8.0-openjdk-devel-1.8.0.181-7.b13.fc28.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.fc28.x86_64
java-1.8.0-openjdk-openjfx-1.8.0.181-7.b13.fc28.x86_64
java-1.8.0-openjdk-openjfx-devel-1.8.0.181-7.b13.fc28.x86_64
java-openjdk-10.0.2.13-1.fc28.x86_64
java-openjdk-headless-10.0.2.13-1.fc28.x86_64
$ 

これで過不足ないかどうかは解りませんが、NetBeans のベータ版などいろいろ試しており、Java 8 系だけでも NetBeans を動作させることはできるはずですので、とりあえずこのまま進めることにします。なお、今年 9 月に Java 11 (LTS) がリリースされる予定になっており、それにあわせて Java 11 に Fedora のパッケージも移行していくと予想されますので、その時に Java の新しい機能の確認をすることにします。

ダウンロードと展開

それでは、まずリリースされた NetBeans 9.0 をダウンロードします。参考サイト [1]Downloading に示されている Binaries(下記にも転記)から incubating-netbeans-java-9.0-bin.zip をここでは $HOME/ダウンロード にダウンロードしました。

NetBeans のインストール先ですが、自分の場合、習慣的に $HOME 以下のローカル・ディレクトリにインストールして使っています。/opt/usr/local 以下にインストールする場合は適宜読み替えてください。以下のように unzip コマンドで展開すると、netbeans ディレクトリ内に展開されます。

$ cd ~/
$ pwd
/home/bitwalk
$ unzip ダウンロード/incubating-netbeans-java-9.0-bin.zip
Archive:  ダウンロード/incubating-netbeans-java-9.0-bin.zip
   creating: netbeans/
   creating: netbeans/ide/
   creating: netbeans/ide/bin/
   creating: netbeans/ide/bin/nativeexecution/
   ...
   (省略)
   ...
  inflating: netbeans/licenses/WSDL-2004  
  inflating: netbeans/licenses/freemarker  
  inflating: netbeans/netbeans.css   
$ 

netbeans.conf の編集

適当なテキストエディタで $HOME/netbeans/etc/netbeans.conf を編集します。netbeans_jdkhome に(NetBeans が使用する)JDK を指定します(下記の赤字の部分)。

$HOME/netbeans/etc/netbeans.conf の編集
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
   ...
   (省略)
   ...
# If you specify the heap size explicitly, you may also want to enable
# Concurrent Mark & Sweep garbage collector.
# (see http://wiki.netbeans.org/FaqGCPauses)
#
netbeans_default_options="-J-XX:+UseStringDeduplication -J-Xss2m -J-Xms32m -J-Dnetbeans.logger.console=true -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=jdk.jshell/jdk.jshell=ALL-UNNAMED -J--add-modules=jdk.jshell -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-exports=jdk.javadoc/com.sun.tools.javadoc.main=ALL-UNNAMED -J-XX:+IgnoreUnrecognizedVMOptions"

# Default location of JDK:
# (set by installer or commented out if launcher should decide)
#
# It can be overridden on command line by using --jdkhome <dir>
# Be careful when changing jdkhome.
# There are two NetBeans launchers for Windows (32-bit and 64-bit) and
# installer points to one of those in the NetBeans application shortcut 
# based on the Java version selected at installation time.
#
#netbeans_jdkhome="/path/to/jdk"
netbeans_jdkhome="/usr/lib/jvm/java-openjdk"

# Additional module clusters:
# using ${path.separator} (';' on Windows or ':' on Unix):
#
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"

desktop ファイル(ランチャー)の作成

GNOME3 のアプリケーション一覧から NetBeans を起動できるように desktop ファイル(ランチャー)を生成します。旧バージョンの NetBeans IDE 8.2 系のインストーラが作成した desktop ファイルの内容を参考にしました。下記の内容のテキストファイルを netbeans.desktop の名前で $HOME/.local/share/applications/ 以下に保存します。

/opt/usr/local 以下に NetBeans をインストールする場合は、自分以外のアカウントからも利用できるように /usr/share/applications/ 以下に desktop ファイルを保存します。

$HOME/.local/share/applications/netbeans.desktop の作成例
[Desktop Entry]
Encoding=UTF-8
Name=Apache NetBeans IDE
Comment=The Smarter Way to Code
Exec=/bin/sh "/home/bitwalk/netbeans/bin/netbeans"
Icon=/home/bitwalk/netbeans/nb/netbeans.png
Categories=Application;Development;Java;IDE
Version=1.0
Type=Application
Terminal=0

Name[ja_JP]=Apache NetBeans IDE

ちなみに .local のような隠しファイルを扱うには、GNOME Files (Nautilus) で次のように「隠しファイルを表示する (H)」のチェックボックスにチェックを入れておきます。

GNOME Files の隠しファイルの表示設定

NetBeans 最初の起動

作成した desktop ファイル(ランチャー)が正しくアプリケーションを起動するかどうかの確認を兼ねて、GNOME Files で $HOME/.local/share/applications/ を表示して、作成した netbeans.desktop をダブルクリックして開いてみます。

$HOME/.local/share/applications/ の内容 (1)

すると、「信用できないアプリケーションのランチャー」という警告ダイアログが表示されます。信頼して起動 (L) ボタンをクリックして次へ進みます。

「信用できないアプリケーションのランチャー」の警告ダイアログ

netbeans.desktop ファイルがアイコンで表示されるようになり NetBeans が起動します。

$HOME/.local/share/applications/ の内容 (2)

License Agreement(ライセンスの使用許諾)のダイアログが表示されますので、記載内容 (Apache License 2.0) を確認して合意できれば I Accept ボタンをクリックします。

License Agreement のダイアログ

NetBeans が起動します。

起動中の Apache NetBeans 9.0

Java features limited のダイアログが表示され、nb-javac のインストールするか JDK 9 以降のバージョンを使うようにと書かれています。Install nb-javac ボタンをクリックして次へ進みます。

Java features limited のダイアログ

インストールのダイアログに従って進めて、インストール後に NetBeans を再起動します。

NetBeans が再起動します。

再起動中の Apache NetBeans 9.0

匿名で NetBeans の機能の使用状況を netbeans.org に送って良いか確認のダイアログが表示されます。I AgreeNo, Thank You どちらかのボタンをクリックして次へ進みます。

Usage Statistics のダイアログ

以上で Apache NetBeans 9.0 の最初の起動が確認できました。

起動した Apache NetBeans 9.0

単純な JavaFX のプログラム [5] で、コンパイル、実行できることを確認しました。

Java Version プログラムの実行例

ちなみに、GNOME3 のアプリケーション一覧で Apache NetBeans 9.0 のアイコンが表示されていることを確認できます。

GNOME3 のアプリケーション一覧

参考サイト

  1. Apache NetBeans 9.0 / Apache NetBeans: Apache NetBeans 9.0 download page
  2. A Brief History of NetBeans
  3. Oracleから譲渡されて約2年、Apache財団が「NetBeans 9.0」を正式リリース - 窓の杜 [2018-7-30]
  4. Java 9/10をサポート、「Apache NetBeans(incubating)9.0」リリース | OSDN Magazine [2018-7-31]
  5. bitwalk123/JavaVersion

 

ブログランキング・にほんブログ村へ
にほんブログ村

2018-08-12

今度の Fedora 29

Fedora (/fɪˈdɔːɹə/) は、レッドハット社が支援するコミュニティー Fedora Project によって開発されている RPM 系 Linux ディストリビューションです。

次期リリース Fedora 29 で、2003 年 11 月 6 日に最初にリリースされた Fedora Core 1 (Yarrow) から数えて 15 周年目を迎えます。半年毎にリリースされている Fedora ですが、2013 年 12 月 17 日に Fedora 20 (Heisenbug) がリリースされた後、例外的にその次の Fedora 21(2014 年 12 月 9 日リリース)まで約 1 年を掛けてリリース体制を一新したため、15 年目のリリース番号が 30 ではなく 29 になっています。

現時点での Fedora 29 のリリース・スケジュールは以下のようになっています。

Fedora 29 のリリース・スケジュール [1]
2018-02-20 Branch Fedora 28 from Rawhide (Rawhide becomes future F29)
2018-05-01 Fedora 28 Release
2018-06-19 Change Checkpoint: Proposal submission deadline (Changes requiring mass rebuild)
2018-07-03 Change Checkpoint: Proposal submission deadline (System Wide Changes)
2018-07-11 Mass Rebuild
2018-07-24 Change Checkpoint: Proposal submission deadline (Self Contained Changes)
2018-07-31 Software String Freeze
2018-08-14 Change Checkpoint: Completion deadline (testable)
Branch Fedora 29 from Rawhide (Rawhide becomes future F30)
2018-08-28 Software Translation Deadline
Bodhi activation point
2018-08-28 Beta Freeze
Change Checkpoint: 100% Code Complete Deadline
2018-09-18 Beta Release (Preferred target)
2018-09-25 Beta Release (Target #1)
2018-10-09 Final Freeze
2018-10-10 Update of the AppStream data
2018-10-23 Fedora 29 Final Release (GA) (Preferred target)
2018-10-30 Fedora 29 Final Release (GA) (Target #1)

現時点で予定されている変更項目は、参考サイト [2] によると以下の通りです。ざっと見て興味があった変更に黄色くマーキングしてみました。ベータ版がフリーズしてから試してみようと考えています。

  1. Build non-RELRO ELF binaries with .plt.got isolation
  2. BINUTILS 2.30/2.31
  3. CJK Default Fonts To Noto
  4. Make dbus-broker the default DBus implementation
  5. Discontinue PPC64 as Alternative Architecture
  6. FedoraScientific VagrantBox
  7. The GNU C Library version 2.28
  8. Hide the grub menu
  9. IBus 1.5.19
  10. Let's Label Our Variants!
  11. Modules for Everyone
  12. Move /usr/bin/python into a separate package
  13. NSS load p11-kit modules by default
  14. Node.js 10.x as default Node.js interpreter
  15. OpenLDAP without Non-threaded Libraries
  16. Perl Move to MetaCPAN
  17. Python 3.7
  18. Remove GCC from BuildRoot
  19. Ruby on Rails 5.2
  20. Rename Atomic Workstation to Silverblue
  21. The tzdata transition to 'vanguard' format
  22. Update i686 architectural baseline to include SSE2
  23. ZRAM support for ARM images
  24. Zchunk Metadata
  25. Golang 1.11
  26. Perl 5.28
  27. uEFI for ARMv7

参考サイト

  1. Releases/29/Schedule - Fedora Project Wiki
  2. Releases/29/ChangeSet - Fedora Project Wiki

 

ブログランキング・にほんブログ村へ
にほんブログ村

2018-08-10

RStudio Server と SELinux (Fedora)

RStudio は R のための統合開発環境 (IDE) です。RStudio には 2 つのエディションがあります。デスクトップアプリケーションとして利用する RStudio Desktop と、Linux 上でサービスとして動作させてリモート PC からウェブブラウザでアクセスして利用する RStudio Server です。

普段は RStudio Desktop (デスクトップ版と呼ぶことにします)を利用しているのですが、ある事情で RStudio Server の方も使うことになりました、RStudio Server はリモート PC から利用できますが、もちろんサーバである localhost でもウェブブラウザ上で利用できます。ポートは 8787 です。ウェブブラウザ上で RStudio を利用する以外はデスクトップ版と使用感はほとんど違いません。

Sign In 画面は表示されるが…

RedHat/CentOS 用のパッケージ rstudio-server-rhel-1.1.456-x86_64.rpm をダウンロードして [1] Fedora 28 の環境へインストールしました。

早速 Google Chrome を起動して localhost:8787 にアクセスすると、RStudio への Sign In ウィンドウが表示されます。ログインしている Linux (Fedora) のユーザーアカウント(この例では bitwalk)とそのパスワードを入力して、Sign In ボタンをクリックします。

http://localhost:8787 へアクセスとサインイン (Sign In)

しばし待つと、「サービスに接続できませんでした」という意味のエラーメッセージが表示され、Sign In に失敗してしまいます。

サインイン (Sign In) に失敗

SELinux を一時的に無効にする

Fedora では SELinux がデフォルトで有効になっていますので、まずは SELinux が影響しているかどうかを確認するため、次のように SELinux を一時的に無効(enforcing → permissive)にします。

$ sudo setenforce 0
[sudo] bitwalk のパスワード:
$ 

ウェブブラウザ上で前述の URL を再読み込みさせると無事 Sign In に成功します。どうやら SELinux が影響しているようです。

RStudio Server のサービス利用例

SELinux について

SELinux (Security-Enhanced-Linux) は Linux ディストリビューションの名前ではなく、カーネルに強制アクセス制御機能を加えるモジュールの名称です。ディレクトリやファイルに割り当てられているパーミッションとは別に、SELinux はプロセスごとにアクセス制限し、root を含む全てのユーザに対する制限をかけることで、root に権限が集中することを防ぎ、高いセキュリティを持ったシステムを構築できるようにしています。

これは、コンピュータウィルスのような外部からの不正侵入に対して完全な防御をする、というものではなく、被害を最小限に食い止めるというアプローチです。

SELinux を簡単に無効にはしたくない

では、SELinux を無効にして RStudio Server を使うのか?そういう簡単な選択もできるでしょう。しかし SELinux を全て無効にしてしまうことは、愛用している Linux マシンのセキュリティレベルをむざむざ下げることになります。

業務で使っている Windows PC では、コンピュータウィルスなどの外部からの不正侵入を防ぐため、ウィルス対策ソフトウェアをインストールして、適切に運用することが社内的に義務づけられています。そのため、Winodws PC では自分が使う用途ばかりでなく、常にウィルス対策のためのタスクに相応のリソース(と人的な確認の手間)を割いています。

Linux にウィルス対策ソフトウェアをインストールせずにいろいろなネットワーク環境下で安心して使っていられるのは、(エンドユーザーには)ポピュラーではない OS である、という事情もありますが、Windows OS にはない堅牢なシステムの構造があるからです。

SELinux を扱うのに不慣れだという理由で無効にすることは避けたいので、今回は SELinux と向き合ってみることにしました。

SELinux Troubleshooter を使う

GNOME3 のデスクトップの場合、アプリケーションの一覧にある「諸ツール」から SELinux Troubleshooter を起動します。

SELinux Troubleshooter の起動

SELinux Troubleshooter の起動すると、SELinux が検出した問題と、原因プロセス、試行したアクセス、対象が表示されます。トラブルシュート ボタンをクリックすると解決策が表示されます。

SELinux トラブルシューティング (1)

端末エミュレータを起動し、解決策を実行します。

$ sudo ausearch -c 'rserver' --raw | audit2allow -M my-rserver
[sudo] bitwalk のパスワード:
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i my-rserver.pp

$ sudo semodule -X 300 -i my-rserver.pp
$ 

残念ながら、これだけでは RStudio Server に Sign In できず、状況は変わりませんでした。

めげずに、再度 SELinux Treoubleshooter を起動すると、前回と異る原因プロセスが表示されています。

SELinux トラブルシューティング (2)

再び端末エミュレータ上で、解決策を実行します。

$ sudo ausearch -c 'rsession' --raw | audit2allow -M my-rsession
[sudo] bitwalk のパスワード:
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i my-rsession.pp

$ sudo semodule -X 300 -i my-rsession.pp
$ 

今後は、ウェブブラウザ上で RStudio を利用できるようになりました。

起動後の RStudio Server のサービス

これで全てが問題なく動くようになったかどうかは解りませんが、不具合に遭遇した時に SELinux の影響が考えられる場合には同じやり方で対処できそうです。

補足

その後、パッケージをロードするときなど SELinux の影響はまだまだ続きましたが、SELinux Troubleshooter で同じように確認、対処して使っています。

参考サイト

  1. Download RStudio Server - RStudio
  2. 「SELinuxのせいで動かない」撲滅ガイド [2015-07-19]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2018-08-07

GNOME3 デスクトップにアイコン表示はもうできない

GNOME3.28 から、デスクトップ上にアイコンを表示する機能が廃止されました [1]。正確には、デスクトップ上にアイコンを表示する機能はファイルマネージャである Nautilus (GNOME Files) に実装されており、そのサポートが GNOME3.28 から無くなりました。そのため最新の GNOME 3 デスクトップ環境をデフォルトで採用している Fedora ではずいぶん前からアイコンをデスクトップ上に表示できなくなってしまっています。

Fedora 28 の GNOME 3 デスクトップ

デスクトップ上にアイコンが欲しくていろいろ試しているうちに、デスクトップ上に自由にアイコンを表示させたいのであれば Cinnamon を使うべしという結論に至りました。

では、デスクトップ環境を GNOME3 から Cinammon へ切り替えるかとなると、それはまた別の話です。デスクトップ環境に何を使うかは、Linux の場合は個人の好みで決めれば良いのですが、自分の場合は Microsoft Windows デスクトップ環境の延長上の操作性にしがみついているより、新しい操作性に触れて慣れていく方を選びます。デスクトップ上にアイコンが欲しいということ自体が矛盾ではあるのですが…。

アプリケーション一覧の表示

画面左上の「アクティビティ」をクリックして画面左側に「ダッシュ」を表示すれば、登録してある「お気に入り」のアプリケーションが表示されるので、そこから選んでクリックすれば良く、ひと手間多くなりますが、慣れればなんてことはなさそうです。

その他のアプリケーションは、「ダッシュ」の一番下にある、3x3 に小さい四角が並んだアイコンをクリックするか、Super + a とタイプすればアプリケーションの一覧が表示されるので [2]、そこから起動したいアプリケーションを選ぶことになります。

ローカルにインストールしたアプリケーション

本来であれば /opt あるいは /usr/local 以下にインストールすべき RPM パッケージで供給されていないアプリケーションを、どうせ個人用途で使っている PC だということで $HOME 内にインストールしてしまっているアプリケーションがあります。

例えば、NetbeansAndroid Studio です。Netbeans のインストールスクリプトは GNOME に対応しており、インストール後にアプリケーション一覧に Netbeans のアイコンが表示されます。しかし、Android Studio はインストールしてもアプリケーション一覧にアイコンが表示されません。

そもそも、ローカルにインストールされているアプリケーションの起動アイコンは $HOME/.local/share/applications 以下に .desktop の拡張子が付いたファイルとして保存されています。試しに、端末エミュレータ上でディレクトリ内を表示すると、自分の環境の場合は以下のようになっています。

$ ls .local/share/applications
 android-studio.desktop
 chrome-aohghmighlieiainnegkcijnfilokake-Default.desktop
 chrome-apdfllckaahabafndbhieahigkjlhalf-Default.desktop
 chrome-blpcfgokakmgnkcojhhkbfbldkacnbeo-Default.desktop
 chrome-gdijeikdkaembjbdobgfkoidjkpbmlkd-Default.desktop
 chrome-hgmloofddffdnphfgcellkdfbfbjeloo-Default.desktop
 chrome-hmjkmjkepdijhoojdojkdfohbdgmmhki-Default.desktop
 chrome-iabmpiboiopbgfabjmgeedhcmjenhbla-Default.desktop
 chrome-ioekoebejdcmnlefjiknokhhafglcjdl-Default.desktop
 chrome-nmmhkkegccagdldgiimedpiccmgmieda-Default.desktop
 chrome-pjkljhegncpnkpknbcohdijeoejaedia-Default.desktop
 mimeapps.list
'netbeans-Build 201804200002.desktop'
$ 

下記は GOME Files で表示した例です。

$HOME/.local/share/applications/

この例の場合、Google Chrome にインストールされた Extention のアプリの .desktop ファイルも自動的に生成されています。Android Studio の場合、Netbeans で生成された .desktop ファイルの内容を参考にして以下のような内容のファイルを生成しました。

[Desktop Entry]
Encoding=UTF-8
Name=Android Studio
Exec=/bin/sh "/home/bitwalk/android-studio/bin/studio.sh"
Icon=/home/bitwalk/android-studio/bin/studio.png
Categories=Application;Java;IDE
Version=1.0
Type=Application
Terminal=0

結局のところ .desktop ファイルは、以前デスクトップ上にアイコンを表示するために $HOME/デスクトップ フォルダ内に用意したファイルと同じです [3]

参考サイト

  1. GNOME 3.28 Removes Option to Put Icons on the Desktop - OMG! Ubuntu! [2018-01-04]
  2. 便利なキーボードショートカット
  3. bitWalk's: GNOME デスクトップにアイコンを表示する [2016-12-27]

 

ブログランキング・にほんブログ村へ
にほんブログ村