Windows の世界で Linux を使用する

Linux に移行した後の Windows リソースの操作

インターネット上のほとんどのサーバーにとって最適なオペレーティング・システムである Linux は、デスクトップ・オペレーティグ・システムとして人気上昇中です。けれども、デスクトップ PC 上で Linux に移行しただけでは、仕事や趣味などで作業をするのに必要なリソースのすべてを引き続き操作できることが保証されるわけではありません。この記事では、デスクトップ Linux システムから、これまで使用していた Microsoft Windows のファイルとファイル・サーバーを操作できるようにし、さらに新しいネットワーク・ハードウェアを使用できるようにするために取り組む必要がある追加の構成タスクについて説明します。

William von Hagen, Systems Administrator, Writer, WordSmiths

William von Hagen は、20 年以上の執筆活動および UNIX システム管理者としての経歴を積んでいます。1993年以来 Linux の支持者である彼は著者または共著者として、Ubuntu Linux、Xen 仮想化、GCC (GNU Compiler Collection)、SUSE Linux、Mac OS X、Linux ファイルシステム、 SGML などについての書籍を執筆しています。また、Linux および Mac OS X の出版物や Web サイトにも多数の記事を掲載しています。


developerWorks 貢献著者レベル

2013年 7月 04日

毎年、Linux 関連のジャーナリストや Linux のファンは、これから始まる新しい年が「Linux デスクトップ」の年になるのかどうかについて、オープンな形でじっくりと考えます。Linux をそのまますぐに実行できる新しいマシンを購入したり、既存の Windows システムを Linux システムへ移行させたりするのは、今までになく簡単になってきていますが、Linux をインストールしてブートするだけでは、日常的に使用するオペレーティング・システムとしての役割を果たすまでにはなりません。デスクトップ PC 上で Linux を使用するように切り替えたものの、その新しい Linux システムを使用する環境がそれほど新しくはないという場合もあります。大企業の環境から、中小企業の環境、そしてスモール・オフィス/ホーム・オフィスの環境に至るまで、そのほとんどに、検討しなければならない Windows 関連の要件があります。また、Windows プラットフォームでのサポートのみがアクティブに行われているハードウェアを Linux システムで使用しなければならないことも考えられます。こうした問題に対しては、幸いなことに各種のソリューションが存在します。

共有 Windows ファイルシステムへのアクセス

共有 Windows ファイルシステムへのアクセスは、Linux システム・ユーザーにとっておそらく最も一般的なビジネス要件です。多くの企業では、企業のメール/スケジュール・システム (Microsoft Exchange Server など) をサポートするためや、エクスポートされたファイルシステムによる単純なファイルおよびデータの共有 (これは、総称的に、「Windows 共有」と呼ばれます) をするためのインフラストラクチャーのコアとして、今でも Windows を使用しています。

Linux には、Windows 共有にアクセスする手段がいくつかあります。どの手段を選択するかは、Windows 共有のデータへのアクセスが必要になる頻度や、構成している Linux システムが個人用のシングル・ユーザー・システムであるか、または複数のユーザーが共有するシステムであるかによって決まります。

コマンドラインから Windows 共有にアクセスする

Samba プロジェクト (「参考文献」を参照) は、Linux、UNIX、およびその他の UNIX ライクなオペレーティング・システムと Windows との相互運用を可能にするオープンソースのプロジェクトです。大半の Linux ディストリビューションには、リポジトリーに Samba が用意されています。通常は、Samba をインストールして構成し、Linux システムを既存の Windows ワークグループまたはドメインに参加させて Linux と Windows の相互運用を可能にします。Samba は多くの場合、Windows システムが使用できる CIFS (Common Internet File System) ファイル・サーバーの役割を果たします。Samba 4.x をインストールすると、Samba サーバーを Active Directory ドメイン・サービス・コントローラーおよび Windows ドメイン用の統合ドメイン・ネーム・システムとして機能させることもできます。

Windows システムから Linux リソースを使用できるようにしたり、Linux システムから Windows プリンターに印刷できるようにしたりする上で、Samba サーバーは優れたメカニズムとなります。けれども、たまに Windows 共有からファイルを取得するだけだとしたら、Samba サーバーをインストールして構成するまでのことはありません。リモート Windows 共有に対する対話型コマンドライン・インターフェース (CLI) を提供する Samba クライアント・パッケージ (samba-client) には、そのような時折行う操作のために設計されたユーティリティーがいくつか含まれています。その 1 つが、smbclient アプリケーションです。

リモート Windows サーバー上で使用可能な共有の名前がわからない場合は、smbclient アプリケーションを使用して調べることができます。このアプリケーションで、-L オプションに続けてサーバーの名前または IP アドレスを入力してサーバーに問い合わせると、そのサーバーで使用できるリソースが一覧表示されます (リスト 1 を参照)。

リスト 1. smbclient を使用して Windows サーバー・リソースを一覧表示する
$ smbclient -L win2008server
Enter wvh's password:
Domain=[WORDSMITHS]
OS=[Windows (R) Small Business Server 2008 6001 Service Pack 1]
Server=[Windows (R) Small Business Server 2008 6.0]

Sharename        Type      Comment
---------        ----      -------
Address           Disk      "Access to address objects"
ADMIN$            Disk      Remote Admin
Brother HL-2070N  Printer   Brother HL-2070N
C$                Disk      Default share
ExchangeOAB       Disk      OAB Distribution share
IPC$              IPC       Remote IPC
NETLOGON          Disk      Logon server share
print$            Disk      Printer Drivers
Public            Disk
RedirectedFolders Disk
Resources$        Disk      "Event logging files"
SYSVOL            Disk      Logon server share
[...]

上記に示されているように、smbclient アプリケーションは現行の Linux ユーザーをリモート Windows サーバーで認証するユーザーとして使用し、そのユーザーのパスワードを入力してリモート・サーバーにアクセスするよう求めるプロンプトを出します。使用しているログイン情報が Windows サーバー上のログイン情報とは異なる場合には、-U オプションで使用するログイン情報を指定することができます。

接続先の共有の名前を特定した後は、smbclient アプリケーションを使用して特定の共有に接続し、ファイルを調べたり、取得したりすることができます (リスト 2 を参照)

リスト 2. smbclient を使用して Windows 共有からファイルを取得する
$ smbclient //win2008server/Public
Enter wvh's password:
Domain=[WORDSMITHS]
OS=[Windows (R) Small Business Server 2008 6001 Service Pack 1]
Server=[Windows (R) Small Business Server 2008 6.0]
smb: \> cd Software\Linux
smb: \Software\Linux\> ls
  .                            D        0  Sun Jan 27 23:40:42 2013
  ..                           D        0  Sun Jan 27 23:40:42 2013
  acl82express-linux-x86.bz2   A 44960643  Sun Jan 27 23:40:24 2013
  alien_8.87.tar.gz            A    64336  Sun Jan 27 23:39:24 2013
  crossover-12.1.0-1.i386.rpm  A 47233108  Sun Jan 27 23:39:14 2013
  [...]
		59997 blocks of size 1048576. 32474 blocks available
smb: \Software\Linux\> get softmaker-office-2012-674.x86_64.rpm
getting file \Software\Linux\softmaker-office-2012-674.x86_64.rpm \
        of size 147058656 as softmaker-office-2012-674.x86_64.rpm \
        (16345.5 KiloBytes/sec) (average 16345.5 KiloBytes/sec)
smb: \Software\Linux\> quit

リスト 2 の例に示されているように、smbclient はリモート・サーバーとの CLI になります。このインターフェースでは、例えば cd (リモート・サーバー上のディレクトリー間を移動) や ls (特定のディレクトリーの内容を一覧表示) など、お馴染みの Linux コマンドがサポートされています。取得する対象のファイルの場所を見つけたら、get コマンドを使用してそのファイルを取得し、smbclient を実行するために使用したディレクトリーにファイルを保存することができます。取得したファイルを別のディレクトリーに保存するには、lcd (local change directory) コマンドを使用して、smbclient がカレント・ディレクトリーとみなすディレクトリーを変更することも可能です。

Windows 共有の 1 つ以上のファイルに時折アクセスするだけでよく、Gigolo、GNOME Nautilus、KDE Dolphin、Konqueror、Thunar などのファイル・マネージャーを使用して Windows 共有をグラフィカルにブラウズすることには興味がないとしたら、smbclient アプリケーションで十分用は足ります。ただし、smbclient アプリケーションは、リモート共有をこのアプリケーションのコンテキスト内で使用できるようにするのであって、システム全体に対して使用可能にするわけではありません。Windows 共有をブラウズして、任意のアプリケーションで使用できるようにするためには、ローカル・ファイルシステムをマウントする場合と同じ方法で、Windows 共有をシステムにマウントする必要があります。

Windows 共有を永続的にマウントする

使用しているシステムのディレクトリーに手動で Windows 共有をマウントするには、root ユーザーとして mount コマンドを実行するか、sudo アプリケーションを利用します (リスト 3 を参照)。mount コマンドの -t オプションとその cifs 引数は、マウントするファイルシステムのタイプを指定します。この場合、包括的な mount コマンドによって /bin/mount.cifs コマンドが呼び出されることになります。Samba スイートの一部となっている cifs-utils パッケージをインストールするには、使用しているシステムのパッケージ管理コマンドを使用します。

リスト 3. 手動で Windows 共有をマウントして一覧表示する
# mkdir /mnt/PUBLIC
# mount -t cifs //winserver2008/Public /mnt/PUBLIC
Password:
# ls -l /mnt/PUBLIC
total 1
drwxr-xr-x. 1 root root   0 Jan 27 16:19 Desktop
-rwxr-xr-x. 1 root root 174 Jan 19  2008 desktop.ini
drwxr-xr-x. 1 root root   0 Jan 19  2008 Documents
drwxr-xr-x. 1 root root   0 Jan 27 23:38 Downloads
drwxr-xr-x. 1 root root   0 Jan 19  2008 Favorites
drwxr-xr-x. 1 root root   0 Jan 19  2008 Music
drwxr-xr-x. 1 root root   0 Jan 19  2008 Pictures
drwxr-xr-x. 1 root root   0 Jan 27 23:37 Software
drwxr-xr-x. 1 root root   0 Jan 19  2008 Videos

リスト 3mount コマンドの例は、/mnt/PUBLIC ディレクトリーを介してリモート共有を使用できるようにしますが、このコマンドにはいくつかの欠点があります。

  • このコマンドを /etc/fstab ファイルに追加するだけでは、共有を自動的にマウントすることはできません。mount コマンドを実行すると、パスワードの入力を求めるプロンプトが出されるためです。特定のユーザーを認証の対象として識別するのでなければ、su または sudo コマンドを実行したときのユーザーのリモート Windows パスワードを入力する必要があります。
  • root ユーザーとして mount コマンドを実行すると、共有が root ユーザーによって所有されているものとしてマウントされます。その共有のファイルを読み取るだけであれば、このように共有をマウントするのでも問題ありませんが、マウントされた共有への書き込みは root ユーザーにしか許可されません。通常、それでは不便です。

以上の問題を解決するには、mount コマンドを実行して CIFS 共有をマウントするときに、特殊な CIFS 関連のオプションを指定します。これらのオプションを以下に記載します。

  • username=<login> ― リモート共有に対する認証に使用するユーザーを指定します。このオプションは、「user=」と省略することができます。
  • password=<login> ― リモート共有に対する認証を行うユーザーのパスワードを指定します (使用するユーザーとして指定したユーザーのパスワード)。
  • uid=<UID> ― マウントされる共有のファイルおよびディレクトリーの所有者となるユーザーのユーザー ID (UID) を指定します。Linux デスクトップでパスワード・ファイル認証を使用している場合は、以下の例に示すように、grep コマンドを使用してシステムのパスワード・ファイルで自分のログイン情報を検索することで、自分の UID を見つけてください。
    $ grep wvh /etc/passwd
    wvh:x:500:500:William von Hagen:/home/wvh:/bin/bash

    UID は、パスワード・ファイル・エントリーの 3 番目のフィールドです (上記の例では、500 です)。

  • gid=<GID> ― マウントされる共有のファイルおよびディレクトリーを所有するユーザーのグループ ID (GID) を指定します。Linux デスクトップでパスワード・ファイル認証を使用している場合は、grep コマンドを使用して、システムのパスワード・ファイルで自分のログイン情報を検索することで、自分の GID を見つけてください。GID は、上記の例に示されているパスワード・ファイル・エントリーの 4 番目のフィールドです

以下は、これらのオプションを使用した mount コマンドの例です。フォーマット上の都合から、2 行に分けて記載しています。

# mount -t cifs -o username=wvh,password=MYPASSWORD,uid=500,gid=500 \
     //win2008server/Public /mnt/PUBLIC

CLI から上記のようなコマンドを実行することも、システムがブートされたときに必ずファイルシステムが自動的にマウントされるように、同様のエントリーを /etc/fstab ファイルに追加することもできます。以下に記載するのは、上記の mount コマンドと同等の内容の /etc/fstab ファイル・エントリーです。

//win2008server/Public /mnt/PUBLIC cifs \
    username=wvh,password=MYPASSWORD,uid=500,gid=500 0 0

このコマンドは、/etc/fstab ファイルでは 1 行のコマンドになりますが、この例ではフォーマット上の都合から 2 行に分けて記載しています。残念ながら、このコマンドには明らかなセキュリティー上の問題があります。それは、パスワードを /etc/fstab エントリーに公開しなければならないためです。通常、/etc/fstab ファイルは、システム上のあらゆるユーザーが読み取ることができてしまいます。この問題を解決するには、識別対象となるユーザー名とパスワードをテキスト・ファイルに記述するようにし、credentials マウント・オプションでそのファイルを指定します。以下はその一例です。

//win2008server/Public /mnt/PUBLIC cifs \
    credentials=/etc/cred.wvh,uid=500,gid=500 0 0

クレデンシャル・ファイルの内容は以下のとおりです。

username=wvh
password=MYPASSWORD

この /etc/cred.wvh ファイルを root ユーザー (mount コマンドを実行しなければならないユーザー) だけが読み取れるようにするには、以下のコマンドを使用します。

# chmod 600 /etc/cred.wvh

credentials マウント・オプションを使用するという方法は、ファイルシステムをマウントするたびにユーザー名とパスワードを指定しなければならない面倒と、その情報をシステムにアクセス可能な全員に公開してはならないという制約との間で、見事にバランスをとった方法です。

sudo を使用してオンデマンドで Windows 共有をマウントする

必要に応じて時折、共有をマウントする場合には、前のセクションに記載した例のマウント・オプションの一覧に、noauto オプションを追加することもできます。このオプションで指定された Windows 共有は、システムを再起動しても自動的にマウントされません。したがって、共有のファイルにアクセスする必要が生じたときに、コマンドラインからその共有をマウントすることになります。

mount コマンドは、必ず root ユーザーとして実行しなければなりません。これは一般に、共有をマウントするユーザーは、システムの root パスワードを知っていなければならないことを意味します。システムを再起動するたびに自動的に共有がマウントされないようにする一方で、root パスワードを知るユーザーを制限したいとしたら (あるいは、単にこのコマンドを使用しなければならない回数を制限したい場合にも)、一般ユーザーが sudo コマンドを使用して共有をマウントできるようにすることです。それには、visudo コマンドを使用して /etc/sudoers ファイルを編集し、ファイルの最後に以下のようなエントリーを追加します。

wvh  ALL=/bin/mount /mnt/PUBLIC, /bin/umount /mnt/PUBLIC

このエントリーにより、ユーザー wvh は sudo コマンドを使用して、/bin/mount /mnt/PUBLIC コマンドと /bin/umount /mnt/PUBLIC コマンドを実行できるようになる一方、それ以外のファイルシステムについては、mount または umount コマンドを使用してマウントすることも、アンマウントすることもできません。特定のシステムのすべてのユーザーが /mnt/PUBLIC 共有をマウントおよびアンマウントできるようにするには、ユーザー名 wvh を総称 %users 表現で置き換えます。その場合には、ユーザーが更新しなければならない可能性のあるファイルに対し、関連する /etc/fstab エントリー内で識別されている anongid グループが書き込み可能であること、そしてそのグループにすべてのユーザーが属していることを確実にしてください。

注: Windows 共有をマウントするには、CIFS ファイルシステムをサポートしている FUSE (File system in User Space) パッケージの 1 つを使用するという方法もあります。smbnetfsfusesmb は非常によく使われているパッケージですが、しばらく更新されていないため、適切に動作させるにはかなりの構成作業が必要です (これらのプロジェクトへのリンクについては、「参考文献」を参照してください)。


Linux システム上での Windows テキスト・ファイルの処理

ほとんどの人は、テキスト・ファイルはすべてのコンピューター・システム上で同じ標準的なタイプのファイルであるため、構成ファイルとして使用したり、どのオペレーティング・システムでも読み取り可能なメモとして使用したりする等々の使い方をする上では、安全であると考えています。けれども残念ながら、常にそうとは限りません。Windows システムと Linux システムではテキスト・ファイルに同じ文字セットが使用されるものの、テキスト行の末尾を識別するために使用される文字は異なります。Windows システムと DOS システムでは、テキスト行の末尾を示す文字としてキャリッジ・リターン (復帰 (Ctrl-M)) とライン・フィード (改行 (Ctrl-J)) の 2 つを使用します。一方、Linux とすべての UNIX ライクなシステムでテキスト行の末尾を示すために使用する文字は、単一のライン・フィードです。Windows システムで作成されたテキスト・ファイルを Linux ユーティリティーを使用して開くと、各行の最後にある Ctrl-M 文字が ^M\r のように表示されます。このようなファイルを読み取る必要のある Linux ユーティリティーにとって、この余分な文字は混乱を招きます。

Linux には、テキスト・ファイル内の行末文字を自動的に変更するために使用できる 2 つのコマンドが用意されています。そのうちの 1 つ、dos2unix コマンド (同じ名前のパッケージでほとんどの Linux ディストリビューションに提供されています) は、Windows (または DOS) で作成されたテキスト・ファイルの Ctrl-M 文字をすべて削除して Linux および UNIX の規則を使用してテキスト行の末尾を示すように自動的に変換します。これに相当する unix2dos (同じ名前のパッケージ内あります) は、逆に Linux および UNIX のテキスト・ファイルを Windows 形式のテキスト・ファイルに変換するコマンドです。

Emacs テキスト・エディターをお気に入りの場合は、リスト 4 に記載する Emacs コマンドを Emacs 構成ファイル (~/.emacs) に追加してください。これで、dos-filemac-file、および unix-file の各コマンドを実行して、それぞれのコマンドの名前に指定されたテキスト・ファイル形式にテキスト・バッファーのコンテキストを変換することができます。

リスト 4. テキスト・ファイルのタイプを変更する Emacs コマンド
;
; Functions for changing buffer modes
;
(defun dos-file ()
   "Change the current buffer to Latin 1 with DOS line-ends."
   (interactive)
   (set-buffer-file-coding-system 'iso-latin-1-dos t))

(defun mac-file ()
   "Change the current buffer to Latin 1 with Mac line-ends."
   (interactive)
   (set-buffer-file-coding-system 'iso-latin-1-mac t))

(defun unix-file ()
   "Change the current buffer to Latin 1 with Unix line-ends."
   (interactive)
   (set-buffer-file-coding-system 'iso-latin-1-unix t))

注:リスト 4 に記載されている Emacs コマンドの例では、Latin 1 文字セットが使用されていることを前提としています。テキスト・ファイルで別の文字セットを使用している場合は、コマンドを変更して、その文字セットを反映させてください。


Windows 用に設計されたネットワーク機器の使用

Linux には、ほとんどのユーザーがコンピューター上で使用する必要のあるソフトウェアが用意されていますが、最新のネットワーク・ハードウェアに遅れずに対応することは、どのオペレーティング・システムにとっても課題の 1 つです。最近の Linux ディストリビューションには、実に幅広いネットワーク・ハードウェアに対応する各種デバイス・ドライバーが含まれていますが、新たなネットワーク・プロトコルとその関連ハードウェア用の Linux ドライバーについては (特に無線の分野では) 遅れをとりがちです。Linux マシンがシステム・ブート時に新しいネットワーク・デバイスを認識できない場合や使用できない場合は、そのデバイス用のドライバーが使用可能になっていないか、デバイス・ドライバーに必要な他のリソース (ハードウェア固有のファームウェアなど) を使用できなかったことを意味します。そのような場合に、いつでも一番に頼りにできるのは、身近にあるおなじみの検索エンジンです。他の誰かが、新しくリリースされたハードウェアを Linux システム上で動作させることにすでに成功している可能性があります (「参考文献」に、Linux でサポートしているハードウェアやこれらのハードウェアの使用経験に関するユーザーからの情報を提供しているいくつかのサイトへのリンクが記載されています)。

新しくリリースされたネットワーク・ハードウェア用の組み込み Linux ドライバーが見つからない場合、サポートしているオペレーティング・システムにそのハードウェアを効率良く使用させるための特殊なドライバーを収容した CD がほとんどの新しいハードウェアに同梱されています。ただし残念ながら、これらのドライバー CD に、Linux システム専用のドライバーが含まれていることはめったにありません。場合によっては、ハードウェア・ベンダーの Web サイトから、その特定のハードウェア用の Linux ドライバーを入手できることがあります。その場合には、ベンダーがインストールと構成の方法についての説明も提供しているのが通常です。質問を投稿したり、インストールや構成の問題について意見を交換したりすることが可能なオンライン・フォーラムを用意しているハードウェア・ベンダーも数多くあります。

もし、使用中または試験中の Linux ディストリビューションに、デスクトップ PC やノート PC に組み込まれた特定のネットワーク・ハードウェアのサポートが含まれていない上に、ベンダーも Linux ドライバーを提供していないとしても、打つ手がないわけではありません。ほとんどの Windows XP ネットワーク・ドライバーは、NDISwrapper パッケージによって Linux システム上でも使用できるようになります。NDIS (Network Driver Interface Specification) は、NIC (ネットワーク・インターフェース・カード) の標準 API (アプリケーション・プログラミング・インターフェース) です。NDISwrapper パッケージは、Windows 8、Windows 7、および Windows Vista で使用するドライバー・フォーマットである NDIS バージョン 6 をサポートしていないので、NDISwrapper パッケージを使用できるのは Windows XP ドライバーに限られます。64 ビット版の Linux システムを使用している場合は、64 ビット版 Windows XP ドライバーだけを使用できます。32 ビット版 Windows XP ドライバーは、64 ビットのシステムでは動作しません。

システムに ndiswrapper-utils パッケージをインストールした後 (一部の Linux ディストリビューションでは、ndiswrapper-common パッケージも一緒にインストールされます)、以下の手順に従って Windows XP NDIS ドライバーをインストールして使用可能にします。

  1. 対象とするハードウェア用の Linux ドライバーがすでにロードされているかどうかを確認します。ロードされている場合は、rmmod DRIVER コマンドを使用してアンロードします。
  2. 使用したいドライバーの .inf ファイルと .sys ファイルを見つけます。

    対象ハードウェア用の Windows XP ドライバーが自己解凍 .exe ファイルで提供されている場合、通常は Linux unzip ユーティリティーを使用してこれらのドライバーを解凍することができます。.cab ファイルで提供されている場合は、Linux cabextract ユーティリティーを使用して解凍することができます。InstallShield ファイルで提供されている場合は、unshield ユーティリティーを使用して解凍することができます (ほとんどの Linux ディストリビューションのリポジトリー内には、これらのユーティリティーが、いずれもその名前と同じ名前のパッケージに置かれています)。最悪の場合、Windows マシンにドライバーをインストールしてから、それらのドライバーを Linux システムにコピーするという方法を採ることができます。

  3. root ユーザーとして、または sudo コマンドを使用して、以下のようなコマンドを実行し、ドライバーをインストールします。
    ndiswrapper -i DRIVER.inf
  4. root ユーザーとして、または sudo コマンドを使用して、以下のコマンドを実行し、Windows ドライバーが正常にインストールされたことを確認します。
    ndiswrapper -l
  5. root ユーザーとして、または sudo コマンドを使用して、以下のコマンドを実行し、NDISwrapper ローダブル・カーネル・モジュールをロードします。
    modprobe ndiswrapper
  6. root ユーザーとして、または sudo コマンドを使用して、以下のコマンドを実行し、ネットワーク・インターフェース用のモジュール構成ファイル・エイリアスを作成します。
    ndiswrapper -m

    以下は、このエントリーの一例です。

    alias wlan0 ndiswrapper

    ifconfig -a などのコマンドの出力で、ndiswrapper カーネル・モジュールに関連付ける Ethernet インターフェースの名前が、このモジュールを使用するインターフェースと一致することを確認します。

以上の手順を完了した時点で、新しいネットワーク・ハードウェアが Linux システムから見えるようになり、標準の Linux ネットワーク構成ユーティリティー (/sbin/ifconfig など) を使用したり、関連付けられた NIC を構成して使用したりすることができるようになります。

ネイティブ Linux ドライバーも用意されているハードウェアに対して ndiswrapper カーネル・モジュールと Windows ドライバーを使用する必要がある場合には、システムを次に再起動するときに Linux ドライバーがロードされないように、/etc/modprobe.d/blacklist-DRIVER.conf のような名前のファイルを作成し、そこに blacklist DRIVER のようなエントリーを含める必要があります。

グラフィカル・アプリケーションの単純さを選ぶとしたら、NDISwrapper パッケージには複数のオプションがあります。図 1 に示す ndisgtk アプリケーションは、これと同じ名前のパッケージからシステムにインストールすることができます。

図 1. ndisgtk を使用した Windows ドライバーの追加
ndisgtk を使用して Windows ドライバーを追加する方法を示す画像。「Install New Driver (新規ドライバーのインストール)」、「Remove Driver (ドライバーの削除)」、「Configure Network (ネットワークの構成)」、「Close (閉じる)」というラベルのボタンが表示されています。

NDISwrapper パッケージは有用であるとともに、優れたパッケージです。使用するハードウェアのネイティブ・ドライバーを Linux が提供しているとしても、組み込み Linux ドライバーではなく Windows ドライバーを使用したほうが、パフォーマンスの向上につながります。


まとめ

Linux は無料で使用できる強力なオペレーティング・システムであり、最近では使用するのも簡単になってきています。デスクトップ PC やポータブル・コンピューターで Linux を使用すると、Windows などのオペレーティング・システムを使用する場合より大幅にパフォーマンスが向上するため、古いコンピューターに新たな生命を吹き込むのにうってつけの方法となります。その一方、ビジネス環境や自宅の環境の多くで、今でも Windows ベースのサーバー、特定のタイプの Windows ファイル、Windows 指向のネットワーク・ハードウェアなどと相互運用することが求められます。Linux には、そのようなシステムやハードウェアとの相互運用を可能にして、デスクトップ Linux システムから Linux と Windows 両方の世界を最大限活用できるようにするソフトウェアおよび手法が、さまざまに用意されています。

参考文献

学ぶために

  • Sambaプロジェクトは、Linux、UNIX、および UNIX ライクなオペレーティング・システムと Windows の相互運用を可能にするアプリケーション・スイートを提供します。
  • developerWorks の LPI (Linux Professional Institute) 302 試験対策シリーズには、Samba のインストール、構成、使用方法をわかりやすく説明する Samba 関連のセクションが複数あります。
  • Linux Hardware Compatibility List には、特定の Linux ディストリビューションと相性良く動作することが知られている各種ハードウェアのリストへのリンクや、Linux 全般と相性の良いプリンター、スキャナー、ビデオ・カード、オーディオ・ハードウェア、デジカメのリストへのリンクなどが掲載されています。
  • Linux HCL も、Linux システムで特定のハードウェアがどの程度適切に動作するかについての情報を提供する優れたサイトです。
  • Linux on Laptops サイトは、ノート PC 上で Linux のさまざまなバージョンがどの程度適切に動作するかに関するユーザーからの詳細情報を、膨大な数のノート PC についてベンダー別に提供しています。
  • developerWorks Linux ゾーンで、Linux 開発者向け (Linux を使い始めたばかりの開発者も含まれます) の豊富なリソースを調べたり、人気のある記事やチュートリアルに目を通したりしてください。
  • developerWorks に掲載されているすべての「Linux のヒント」シリーズの記事と Linux チュートリアルを参照してください。
  • Twitter で developerWorks をフォローしてください。

製品や技術を入手するために

  • Linux 環境および UNIX 環境で使用できるグラフィカル・ファイル・マネージャーのうち、この記事で取り上げた例は以下のとおりです。
    • Gigolo。このグラフィカル・アプリケーションは、ローカルおよびリモートのファイルシステムの管理および参照を簡単にできるようにします。GTK (GIMP Toolkit) をベースに使用する Gigolo は、元々 Xfce デスクトップ環境向けに開発されたものですが、GNOME デスクトップを使用する Linux ディストリビューションや、GTK がインストールされた Linux ディストリビューションのすべてで使用することができます。
    • Nautilus。GNOME デスクトップを使用するコンピューター・システムでは、これがデフォルトのグラフィカル・ファイル・マネージャーとなっています。
    • Dolphin。KDE デスクトップを使用する Linux システムでは、これがデフォルトのグラフィカル・ファイル・マネージャーとなっています。
    • Konqueror。これは、KDE デスクトップを使用する Linux システムの極めて強力なグラフィカル・ファイル・マネージャーです。Konqueror は長年にわたるデフォルトの KDE ファイル・マネージャーであり、KDE デスクトップの他のファイル・マネージャーでは提供されない数多くの機能をサポートします。
    • Thunar。この Linux システム用グラフィカル・ファイル・マネージャーは、当初、Xfce デスクトップ環境を対象に開発されたものです。
  • dos2unixunix2dos は、Linux システムと UNIX、DOS および Macintosh システムとの間でテキスト・ファイルの形式を変換するアプリケーションです。
  • Emacs は、最近のコンピューター・システムにとって、ただひとつの真のテキスト・エディターです。
  • Ndisgtk は、コマンドライン NDISwrapper アプリケーションを操作するためのグラフィカル・アプリケーションです。
  • root 特権なしでユーザーが Windows 共有をマウントできるようにする FUSE 実装は、fusesmbsmbnetfs の 2 つのプロジェクトです。このどちらにも、samba-client パッケージに含まれる libsmbclient ライブラリーが必要となります。いずれのプロジェクトにしても、しばらく更新されていません。これは、「きちんと機能」するのか、もはやアクティブに使用されていないかのいずれかを意味します。
  • NDISwrapper の最新バージョンや、NDISwrapper パッケージの使用方法の詳細情報を入手するには、SourceForge の NDISwrapper プロジェクト・ページを参照してください。
  • Mono を使用して Linux システム上で Microsoft .NET コードを実行する方法については、Mono プロジェクト・サイトを参照してください。
  • Wine プロジェクトには、Linux コンピューター上で Windows ソフトウェアを実行するためのソフトウェアが用意されています。対象とするソフトウェアが Wine で動作するかどうかを確認するには、Wine AppDB を調べてください。
  • 商用でサポートされる Wine のバージョンについては、CodeWeavers を参照してください。このサイトの What Runs? ページでは、CrossOver で実行できる既知の Windows ソフトウェアの情報を調べられます。
  • VirtualBox を使用して、Windows を仮想マシンで実行することを検討してください。

議論するために

  • developerWorks コミュニティーに参加してください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者によるブログ、フォーラム、グループ、Wiki を調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=935433
ArticleTitle=Windows の世界で Linux を使用する
publish-date=07042013