読者です 読者をやめる 読者になる 読者になる

リモートデスクトップ導入

//無事に進級が決まりました

 

今メインで使ってるPCはMac book airなのですが一応windowsのノートPC(SH-54K)があります。

そのwindows PCはディスプレイのバックライトが破損してしまい、ディスプレイの3/4が真っ暗でほとんど操作できなくなってます。

外部ディスプレイにつなげばいいって言えばその通りなんですがそれだとキーボードとかも外付けにした方が使いやすいとか色々考えちゃうわけで、、、、

 

それでリモートデスクトップにしようと色々調べてみたわけなのですが。

 

windows 10 リモートデスクトップ機能

まずはwindows 10リモートデスクトップ機能についてです。

windowsリモートデスクトップ機能はwindowsのエディションによって使用できるか異なります。

windowsリモートデスクトップ機能はwindows10の場合は以下のエディションで使用可能です。

  • windows10 Pro
  • windows10 Enterprise
  • windows10 Education

今回のPC(SH-54K)にインストールされていたのはwindows10 Homeだったためwindowsの機能を使うとなるとProにアップグレードする必要があります。(13k円)

それ以外の機能も使うのであれば13k円支払うという選択肢もありかと思いますがMacを使い始めてからwindows には戻れないなぁ、、、と思うことも多くあったため他の安いサービスを探すことに

 

VNCソフト

そもそもVNCとは

Virtual Network Computingの略称。

リモートデスクトップソフトで、OSに関わらずコントロール可能な場合が多い。

サーバソフトとビューアーソフトで分かれている。

1999年に最初のソフトウェアが開発された。

 

導入したソフト

今回はReal VNC 6.0.2を使用しました。

Real VNCは最初のソフトウェアだったVNCを開発したメンバーが開発したソフトウェアです。

個人利用はフリーで利用が可能です。

MacLinuxwindowsRaspberry Pi、と言った主要なコンピュータやスマートフォンに対応しています。

基本的に導入するときは、Real VNC公式サイトからOSに対応するインストーラをダウンロードしてインストーラの指示に従うだけです。

インストーラが"VNC Server"、"VNC Viewer"を同時にインストールしてくれます。

インストールが終了後はライセンス認証が行われます。

公式サイトからアカウントを作成し、使用する目的にあったライセンスをアカウントに関連付けます。

/*

この辺りの内容はインストーラに従って作業しておけばなんとかなります

パスワード設定等もこのあたりで行ったはず

*/

この作業を2台のコンピュータそれぞれで行います。

終了後はサーバ側、クライアント側それぞれで操作を行います。

まずはサーバ側です。

VNC Serverを起動します。アクセス制御の許可を求められるので許可する。

そうするとアクセスができるようになります。

続いてクライアント側。

VNC Viewerを起動します。

そうするとウィンドウにVNC Serverがインストールされたデバイスの一覧が表示されます。

接続するデバイスを選択して設定したパスワードを入力するとアクセスできます。

 

 

ということで今回はVNC関連の内容でした。

以下に参考等にしたサイトのリンクを残しておきます。

 

-----------------------参考--------------------------------------

Real VNC公式サイト(英語)

Remote Access Software for Desktop and Mobile | RealVNC

Virtual Netowrk Computing (wikipedia)

Virtual Network Computing - Wikipedia

windows10 リモートデスクトップの設定(PC設定のカルマ)

Windows10 - リモートデスクトップ - ホストの設定 - PC設定のカルマ

Macでゴミ箱が空にできない

表題の通りMacのゴミ箱が空にできない現象に悩まされました

一応強引ではありますが解決したのでまとめておきます

 ------------------------------------------------------------------------

1.発生した状況

外部ストレージ(USBメモリ)のデータをゴミ箱に入れる

Dockのゴミ箱を副ボタンで”ゴミ箱を空にする"を選択(以下の画像はfinder画面からやった時の画像)

f:id:poolbooyer:20170218213643p:plain

メッセージ"項目"〇〇"が使用中のため操作が完了できません"が表示

f:id:poolbooyer:20170218213730p:plain

関連していそうなアプリケーションを閉じる

再試行しても同様のメッセージが表示される

端末を再起動する

再試行するも同様のメッセージが表示され削除できない

 

この時、外部ストレージを取り外すとゴミ箱は空になり、再び取り付けるとゴミ箱内にデータがある表示になっている状態でした

 

やったこと
  • 端末の再起動
  • 端末をセーブモードで起動(起動時にshift)
  • モードの確認(rwx)
  • ロックの有無の確認
  • ファイル名の変更(文字コード等の影響の可能性を考えて)
  • sudo rm などターミナルからの操作

 

最終的に解決させた方法

やったことは奥の手というかほとんど反則技です

 

削除できないデータが入っていたUSBメモリwindows端末に接続し、 .trashesという隠しディレクトリを削除しました

これを行うことで改めて接続した時にゴミ箱の中が空の表示になり、全て削除されたことが確認できました

 

予想される原因
  • MacのOSは外部ストレージなどを接続すると隠しファイルの" .trashes"を作成するようになっている
  • この隠しディレクトリはファイルを削除するときの誤削除を防ぐためのフォルダとして使われる
  • 今回はなんらかの要因(ほんとはここが需要)でこのファイルを書き換えることができなくなった可能性がある

 

-------------------------------------------------------------

以上のようになっていました

他にも色々とやり方はあるみたいです

(データを本体などのストレージに一時的に保存してパーテーション作り直す、ファイル名の書き換え・上書きになどを行う  etc...)

 

私はwindowsの端末もあったためその端末からの削除のみで対応できましたがそうじゃなければパーテーションの振り直しなどをするしかなかったかと、、、、

 

ストレージの管理は丁寧にしないとダメですね

バックアップもマメにしてると困った時に復活できるのでそれも大切だなと思いました

探索アルゴリズム(ハッシュ)

連続しての投稿です

 

今日は探索アルゴリズムの一つのハッシュ法についてです

 

ハッシュ法

    基本動作

      データを格納、探索するときに順に格納するのではなく一定の条件の下で格納、探索するアルゴリズム

      このとき、条件は複数に当てはまりにくいものにする方がいい

 

    具体的な動作

      入力は数値、ハッシュ法を行う時の条件をある数で割ったあまりを用いるとする

      この時、あまりを求める条件にする数値は素数が適している(割り切れる数が少ない、あまりが多く確保できるなどの利点があるから)

 

      この時のデータ領域data[13]に数値を格納するアルゴリズムを考える

      この時13で割ったあまりをデータ格納に用いる

 

      入力   18の時   18%13=5  だからdata[5]に18が格納される

      入力   11の時   11%13=11  だからdata[11]に11が格納される

 

     また、あまりが同じ時にはオープンアドレス法を用いて格納場所を変更するなどの方法がある

 

      入力   5の時   5%13=5   この時data[5]にはすでに18が格納されているので次の領域data[6]に格納する

 

      探索についても同様の方法で行われる

      data={13,14,2,16,4,18,5,33,21,35,10,11,37}

      を探索する

 

      dataから14を探索  14%13=1 data[1]を確認すると14が格納されている

                                                       よって探索終了

 

      dataから5を探索   5%13=5   data[5]を確認すると18が格納されている

                                                     次の領域data[6]を確認すると5が格納されている

                                                     よって探索終了

 

    実際のソース

      ハッシュの計算を行うソースの例(C言語)

//ハッシュ関数

//main関数から入力され値 inと割ったあまりを格納する変数 iを受け取る

int hash(int in,int i){

  //入力を13で割った余りを求める
  i=in%13;

  //あまりの値を返す
  return i;
}

 

      格納する場所を変更するソースの例(C言語)

//オープンアドレス関数

//main関数から格納する領域data[13],入力された値 inと入力のあまり iを受け取る

void openaddress(int data[13],int in,int i){

  //iの次の値を求める

  i++;

  //次の領域が空欄("0")か確認する
  while(data[i]!=0){

    //空じゃない時は次のデータを確認する
    i++;
  }

  //空欄("0")の時に値を格納
  data[i]=in;
}

 

        自分が作ったソースコードはこんな感じです

 

    このアルゴリズムの長所と短所

      長所

         様々な動作に活用できる

         短時間で探索ができる

      短所

        データが少ない場合は計算を行うことで処理に要する時間が長くなる

        一致ではなく近隣の値を探索することはできない

 

 

ということで今日は探索アルゴリズムをまとめてみました