- 時間(システムメンテナンスコスト)
- 鉄(さまざまなクラッシュ、パフォーマンスの低下、陳腐化)
- ソフトウェア(ライセンスコンポーネント、ウイルス保護、集中型アプリケーション管理)
私の記事では、Linux OSに基づく(非)シンクライアントの実装を、ハードウェアコンポーネントとWindows OSの使い慣れたインターフェイスとの間のレイヤーとして考えています。
(非)シンクライアントは、私の理解では、次のプロパティを持つLinuxディストリビューションです。
- ロードするための十分に大きなコンポーネントのセット。 ネットワーク経由のダウンロードには適していない
- かなり小さなコンポーネントのセット。 ハードドライブをインストールする合理的ではない
実装のプラットフォームとして、Nvidia IONを選択した理由は次のとおりです。
- パフォーマンスプロセッサ
- 生産的なグラフィックス(ネットトップ内)
- 低ノイズ(アクティブ冷却とパッシブ冷却のオプションがあります)
- スペースをほとんど取りません(モニターに取り付ける可能性があります)
- 十分な信頼性(破損する特別なものはありません)
また、ハードドライブの代わりになる4GB USBフラッシュドライブが1台必要です。
インストール用のLinuxディストリビューションは、OpenSUSEによって選択されました。 これは現在バージョン12.2です
さあ、始めましょう...
Suse Studioという素晴らしいプロジェクトについて多くのことが書かれています。 それを使用して、ターミナル(非)シンクライアントの最終的なソリューションを作成します。
新しいソリューションを作成します。
ご覧のとおり、選択肢は豊富です。
最も簡単なソリューションが必要なので、「IceWMシェルを備えた最小限のグラフィックシステム」というテンプレートを使用します。
これでディストリビューションを装備できます!
ソフトウェア
「すぐに使える」このソリューションには、グラフィックシステムと「軽量」ウィンドウマネージャを実行するために必要なコンポーネントが既に含まれています。
デフォルトのままにしておくと、このシステム(ビデオドライバー、ネットワーク設定など)を構成するのに多大な労力が必要になる場合があります。 解決策が必要です。私はそれを置き、住所を運転して忘れました。
次のコンポーネントを追加します(依存パッケージは自動的に追加されます):
- freerdp(rdesktopのファンの場合、インストールできます)
- acpi、acpid(電源ボタンが正しく機能するため)
- mc(オプション)
NvidiaリポジトリからNvidia IONビデオカードのドライバーを追加します。
- x11-video-nvidiaG02
- nvidia-gfxG02-kmp-default
リポジトリからIntelグラフィックカードのドライバーを追加します。
- xorg-x11-driver-video-intel-legacy
(Nvidiaビデオドライバーが選択する素晴らしい記事 )
削除:
- nouveau(オープンソースのNvidiaグラフィックカードドライバー)
構成
一般 :必ずルートパスワードを変更し、デフォルトユーザーを指定してください。
スタートアップ :グラフィック入力
デスクトップ :ユーザーの自動ログイン
ここで、ブート時にパラメーターを設定できます。
バージョン12.2の観点からは非推奨です。
setkxbmap -model pc104 -layout us、ru -variant、
キーボードには2つのレイアウトを持つ104個のボタンがあります
setkxbmap -option grp:alt_shift_toggle
alt + shiftで切り替わります
(sleep 3; xfreerdp -u domain\\user -f server_ip &)
ユーザーがLinuxを学び始めたいという欲求がないように
DHCP経由でIPアドレスを取得する場合、遅延が必要です。icewmの読み込みが高速になる場合があります。
(またはrdesktop -k en-us -u domain \\ user -f server_ip)
echo 'ShowTaskBar=0' >> ~/.icewm/preferences
タスクバーを非表示にします (詳細はこちら )
特別なユーザー設定の場合、任意の数量の追加コマンドを登録できます。
最初の実行を構成するには、次のセクションに進みます。
スクリプト
First Bootセクションで、次の行を追加します。
OpenSuse 12.1
grep -rl 'timeout 10' /boot/grub/ | xargs perl -i -pe "s/timeout 10/timeout 0/g;"
OpenSuse 12.2(Grub2)
grep -rl 'GRUB_TIMEOUT=10' /etc/default/grub | xargs perl -i -pe "s/GRUB_TIMEOUT=10/GRUB_TIMEOUT=0/g;"
OSブートオプションを選択するタイムアウトを0秒に設定します
echo '* * * * * if ! ps -U tux | grep xfreerdp && ps -U tux | grep icewm; then perl /home/rdp_conn_cnt; fi' >> /var/spool/cron/tabs/tux
ユーザー(誤ってRDPセッションを終了し、RDPクライアントを自動起動できるユーザー)を追加します。 自由に、あなたはより短い期間を作ることができます。
chmod u+s /sbin/shutdown
ユーザーを使用してコンピューターの電源をオフにします
chmod u+s /sbin/ipconfig
そして、IPを見る
ファイル
実際、ここでは単純なスクリプトをダウンロードしました。これは、ユーザーが何も入力しなかったときにRDPを開始しようとした回数をカウントします。 試行回数の後、システムのシャットダウンが発生します。
#!/usr/bin/perl $counter = 0; if (-e "/tmp/rdp_cnt.tmp"){ open (FN, "/tmp/rdp_cnt.tmp") or die "$_"; $cnttext=<FN>; close FN; $counter = $1 if ($cnttext =~ /(\d+)/); } if ($counter++ < 10){ system("export DISPLAY=:0 && xfreerdp -u domain\\\\user -f server_ip"); open (FN, ">/tmp/rdp_cnt.tmp") or die "$_"; print FN $counter."\n"; close FN; } else { unlink("/tmp/rdp_cnt.tmp") if (-e "/tmp/rdp_cnt.tmp"); system ("systemctl poweroff"); }
構築する
イメージを作成する準備ができました!
Preload ISO(.iso)を作成し、配置することができます。