こうかの雑記

こうかの雑記

昔の懐かしいこと、ubuntuのこと、その他いろいろ

ubuntu20.04 デスクトップ上のファイルの取扱が不便になった

 ubuntu18.04からubuntu20.04に切り替えてから一部不便になったことがあります。今回はその報告です。

デスクトップとフォルダーとの間でのドラッグ&ドロップができい。

   前の18.04まではデスクトップ画面と「ファイル」の画面間でドラッグ&ドロップが可能になっていました。今回の20.04からは直接の移動ができなくなりました。 (ファイル」NautilusはファイルマネージャでWindowでいうエクスプローラのようなものです)

 具体的に言うと

  1. デスクトップ画面上のファイルを「ファイル」で開いたフォルダーに移動ができない。 1.「ファイル」で開いたフォルダー内のファイルをデスクトップ画面上に移動できない。
  2. デスクトップ画面上のファイルをデスクトップ画面上のフォルダー、ゴミ箱には移動できる。その逆はできない。
    ゴミ箱からは「もとに戻す」は可能。
  3. デスクトップ上のファイルを選択してのDeleteキーでは削除できない。

 原因は「ファイル」Nautilusからデスクトップ画面の機能が外され、別のGNOME Shell拡張機能により提供されるようになったためです。(これはubuntu日本語フォーラムで質問して教えて貰いました。

 代替えの方法

  • デスクトップ画面上で直接の移動が出来ないので「ファイル」を開いて起動して「デスクトップ」を開きます。もう一つ「ファイル」を起動してそちら側で受け入れ側フォルダーを開いて、ドラッグ&ドロップします。
  • ファイルを2つも起動するのが嫌というのでしたら、CTrl+c(コピー)とCtrl+x(切り取り)を使います。

 確かにデスクトップ画面上のアイコンの配置が整然とできるようになったので改善されたと思ってましたが、今まで出来ていたことができなくなるというのは後退だと思うのですが。でも今のところ否定的意見は見てません。

デスクトップに置いているpythonスクリプトファイルが実行できない

 実行できないというのは私の勘違いでした。実行できていました。

 しかしGUIを使っているスクリプトについては実行していることを確認できますが、そうでないスクリプトはダブルクリックをしても何も起こっていないように見えます。

 pythonスクリプト中でprint文やinput文を使っても、それは端末画面で動作しているときのみ効くようです。input文が無視されるのはちょっと問題ではないかと思いますが。

 デスクトップ画面上で実行させるpythonスクリプトはprint文・input文ではなくGUIを使っている必要があります。手軽にできるのはtkinterを利用することかな。

 GUIツールを組み込んでなくても「ファイル」でフォルダー内のファイルをダブルクリックして「端末で実行」を選択すれば問題なく実行していることを端末画面で確認できます。但し、次の設定をしておく必要があります。

端末画面上でコマンド入力で実行のための前提条件

スクリプトの一行目に次の一文があること。
  #!/usr/bin/env python3
または
  #!/usr/bin/python3

スクリプトファイルに実行権限が付与されていること。

 以上で端末画面から端末画面上でコマンド入力で実行出来るようになります。

ダブルクリックで起動するための設定(端末内)

 ubuntu20.04の場合です。

  1. 「ファイル」Nautilusを起動して設定を出します。 f:id:koukaforest:20200523165751p:plain

  2. 動作の設定を次のようにします。 f:id:koukaforest:20200523165810p:plain

 実行可能なテキストファイルのところで「どうするか確認する」を選んで下さい。
 「内容を表示する」にするとたとえ実行権限があってもテキストとして表示するだけです。
 「実行する」だと端末画面が出ず、デスクトップ上と同じ動作になります。

ubuntu20.04にプリンタの設定

 ubuntu18.04の時からプリンタドライバーをインストールしなくてもドライバーレスで繋がるようになりました。プリンタの電源を入れてシステムの設定を確認するとBrother DCP-J925N, driverlessが出来ていました。

 しかし、ドライバレスだとプリンタの指定できるオプション機能の一部しか使えなくてとりあえず印刷できたら良いという印象を受けます。きちんと使うにはメーカーサイトからドライバーをダウンロードしてインストールすることをお薦めします。

 私はブラザーのDCP-J925Nという古い複合機を使っていますが、簡易インストーラをダウンロードして簡単にインストールできるようになっています。 Wifiで接続なので事前にIPアドレスを調べておきます。(IPアドレスは固定にしておくことをおすすめ)
 下図の一番上のプリンタがドライバーレス、それより下のプリンタがメーカのドライバーによるものです。 f:id:koukaforest:20200522133126p:plain

 下のCUPSのプリンターをデフォルトプリンターに設定しました。(デフォルトのプリンターを設定した為なのかわかりませんが、あとで気づいたらドライバーレスのプリンターが表示されなくなりました。ubuntu18.04の時は見えていて邪魔に思ったものです。)

 私はページ数の多い資料を作ることが多いので、その都度用紙の設定変更するのが面倒です。そこでプリンターは一台ですが用途に応じた設定をしたプリンター設定を用意し、選択するだけで済むようにしています。ページ数の多い印刷物の場合は、両面印刷とリバース印刷をオンにしています。

 この様にubuntuで一つのプリンターを複数の設定で使う場合は次の様にします。

  1. システムの設定画面でプリンタを開く。
  2. 追加のプリンター設定をクリック
  3. 存在するプリンタが表示されるのでコピー元のプリンターを選択して右クリックし、メニューから「複製」を選択。 プリンターの複製画面でプリンターの新しい名前を入力してOKをクリック。
  4. 新しく出来たプリンターのオプション設定を変更。

 最終的に次のようになりました。 f:id:koukaforest:20200522134017p:plain

ubuntu20.04上のVirtualboxにWindows10をインストール。

 2016年にセキュアブート無効な状態でVirtualboxを少しだけ使いました。(マザーボードの仮想支援機能を有効にしておく必要があります)  ubuntu18.04に切り替えた時にセキュアブートを有効にした為、VirtualBoxのインストールに失敗するようになり、Virtualboxを諦めていました。

 先の記事(ubuntu20.04に移行した)でセキュアブートをやめることに抵抗がなかった訳です。

 セキュアブート有効でも可能なようですが、失敗すると面倒なのでやめました。どうしてもという場合は Secure BootなUbuntu 18.04にVirtualBox 6.0をインストール。もうそんなに難しくない。が参考になると思います。

 失敗したのは追加のモジュールをインストールするときでした。私の場合この追加のインストールの段階で操作に行き詰まり、中途半端な状態になって困りました。

 なので今回はセキュアブート無しの状態でVirtualboxを使います。

注、セキュアブートの無効化、仮想支援機能の有効化は事前にマザーボードUEFIで設定します。

 まだ画像編集ソフトを復旧させていないので、画像なしの説明になって申し訳ありません。

VirtuslBoxのインストール

 virtualboxのサイトから最新版をダウンロードします。
 プラットフォームはLinux distributionを選びます。
 ubuntu19.10/20.04がありましたので、これを選択しました。
 ダウンロードしたファイルvirtualbox-6.1_6.1.8-137981~Ubuntu~eoan_amd64.debを右クリックしてソフトウェアのインストールで開くを選択するとインストールされます。
 セキュアブート無効の場合のインストールはこれだけです。

Virtualbox仮想マシンを作成

 以下にわたしが設定した例を示します。多分、Windowsが取り敢えず動けば良いという感じにしています。

  1. 仮想マシン→新規をクリック。
  2. 名前とオペレーティングシステムの画面で
       名前:Windows10
       マシンフォルダー:デフォルトで表示。選択できるようになっている。
       タイプ:自動で入る
       バージョン:自動で入る
  3. モリーサイズ:4096MB 最低2048MBなので倍にした。
  4. ハードディスクの画面では仮想ハードディスクを作成するを選択。
  5. ハードディスクのファイルタイプの画面ではVDIを選択。
  6. 物理ハードディスクにあるストレージの画面では、可変サイズを選択。
  7. ファイルの場所とサイズの画面では、場所はデフォルトのまま、サイズは100GBを指定。

 最後に作成ボタンをクリックで仮想マシンが作成されます。

Windows10をダウンロード

 事前にWindows10のisoイメージを入手します。ダウンロードはWindows 10 のディスク イメージ (ISO ファイル) のダウンロードから出来ます。  Windows10のプロダクトキーは手に入れているものとします。これが無いとインストールできません。

仮想マシンにWindows10をインストール

 インストールの前にisoイメージの場所とストレージデバイス光学ドライブと関係を結びつけます。

  1. Virtualboxマネージャ画面で設定 → ストレージ → コントロラー:SATA光学ドライブのアイコン(最初は空になっていると思います)を選択。
  2. 属性の部分で光学ドライブ(D):の右端の光学ドライブアイコンをクリックし、
    リストの中から仮想光学ドライブの選択/作成をクリックする。
    光学ディスク選択の画面になるので追加(A)をクリックする。
    ダウロードしたWin10_1909_Japanese_x64.isoを指定します。(場所は~/ダウンロードにあります。)
    すると仮想光学ドライブの選択/作成の中のリストに現れます。
  3. ISOファイルを選択して選択ボタンをクリックする。

 以上でストレージデバイス光学ドライブのアイコン横の表示名がisoファイル名に変わります。

 これでWindows10をインストールする準備ができました。
 仮想マシンのWindows10を選択して起動すると光学ドライブからインストールが始まったと思います。
 Windows10のインストールは通常と変わりません。

GuestAddition.ISOのインストール

 インストールが終わってWindows10の設定も終わって使える状態になったら、次にGuestAdditions.ISOを追加でインストールします。

 Windows10を起動させている状態で、仮想マシンのメニューにあるデバイスをクリックします。プルダウンリストの一番下にGust Addition CD イメージの挿入がありますので、これをクリックします。
 すると光学ドライブとGuestAdditions.ISoが結びつきます。

 これはVirtualboxマネージャ画面の設定 → ストレージ → コントロラー:SATA光学ドライブのアイコンでも確認できます。VBoxGuesAdditions.isoとなっているのが確認できます。

 確認できたらwindows0の中のエクスプローラでデバイスとドライブを表示すると、そこにCDドライブとして見える筈です。これをダブルクリックします。

 するとCDドライブとしての中身が見えますので、VBoxWindowsAdditionsVBoxWindowsAdditions-amd64VBoxWindowsAdditions-x86が見えます。
 私はVBoxWindowsAdditions-amd64をダブルクリックしました。
 VBoxWindowsAdditions-x86は32bit版です。

GuestAdditionの利用

 次の機能を利用するには設定が必要です。
 設定をするとホストOSとゲストOSの間の操作が便利になります。

文字列のコピー&ペースト機能

 仮想マシンのメニューのデバイスクリップボードの共用 → 無効以外のどれかを設定

ファイルのドラッグ&ドロップ機能

 仮想マシンのメニューのデバイス → ドラッグ&ドロップ → 無効以外のどれかを設定

フォルダ共有

  1. ホストOS側で任意の場所に共有フォルダーを作成します。
  2. 仮想マシン側でデバイス → 共有フォルダー → 共有フォルダー設定をクリックします。
    ホストOS側で作った共有フォルダーを指定します。
    自動マウントにチェックを付けます。

 ゲストOSのWindows10から利用する場合は、エクスプローラでネットワークをクリックするとネットワークの検索ができる設定になっていないと文句をいわれるのでその設定をします。設定ができていると「VBOXSVR」が見えるようになり、その中に共有フォルダがあります。  ホスト側で共有フォルダーを別の場所に移動させないように注意が必要です。