web-dev-qa-db-ja.com

アプリケーションで最後に使用したウィンドウの位置とサイズを保存/記憶するにはどうすればよいですか?

Ubuntuにログインするとき、以前のセッション(主にターミナルとFirefox)で開かれたすべてのウィンドウが同じサイズと位置で自動的に再び開かれるようにしたいと思います。

どうやって進める?

58
Eric

12.04(および11.10)の場合

簡単な答えは:hibernationが最適なオプションです。これは、11.04以降にgnome-session-save機能が削除されたためです。バギー、およびこの機能を手動で再度有効にする公式の調整は機能していないようです。 この回答のパートBでは、代替ハイバネーションメソッドTuxOnIceの使用方法について説明しています。組み込みの休止状態。

A.古いGnomeセッション保存機能を有効にしようとしています

  • 注:最後に説明したように、これはofficial Tweakは機能していないようです。直接スキップしてください。 B。 TuxOnIceによる休止状態
  • この Launchpadのバグ では、「セッションの保存」機能の復元について説明しています。 2012年4月にgnome-sessionパッケージにパッチが導入され、ユーザーがこの機能を手動で再度有効にできるようになったため、現在「修正済み」とマークされています。パッチは、それ自体を次のように説明します。

    • gNOME_SESSION_SAVE環境変数を追加します。
      保存セッションを使用したい人のために、賢明に使用しないとシステムを破壊する可能性があることを知っています。[LP:#771896)
  • これを有効にするには、GNOME_SESSION_SAVE変数をnull以外の値に設定します。方法は次のとおりです。

    • Alt+F2を押し、gedit ~/.pam_environmentと入力して、Enterを押します。
    • 以下に示すように、ファイルの最後にGNOME_SESSION_SAVE=1行を追加します。

    • enter image description here

    • Ctrl+Sを押して保存し、Ctrl+Qを押してエディターを終了します。

    • 今すぐ再起動します(ログアウトも機能するはずですが、念のため)
  • パッチ( source )が行うことは、スタートアップアプリケーションのOptionsタブを無効にすることです。このタブには、以前はログアウト時に実行中のアプリケーションを記憶オプションが含まれていました。 しかしGNOME_SESSION_SAVE変数をチェックし、設定されている場合(null以外)、セッション保存を有効にする必要がありますRemember ...ボックスが存在し、チェックされました。 だから、バグに「修正済み」というラベルが付けられている
    • if(g_getenv( "GNOME_SESSION_SAVE")!= NULL)
       maybe_load_saved_session_apps(manager);
    • 残念ながら、バグトラッカーの comment 32 で確認されているように、機能していないようです。
    • パッチを無効にして、ソースからgnome-sessionを再構築することさえ試みました。 Optionsチェックボックスが再び表示されますが、何も実行されません。
    • しかし、ちょっと、それはどういうわけかあなたのために働くかもしれません!! :)

B.現時点での機能:TuxOnIceによるハイバネーションの強化

  • Hibernationは、現在のシステム状態(セッション、開いているアプリケーションなどを含む)をハードディスクに保存し、コンピューターをシャットダウンします。もう一度起動すると、コンピュータの電源を一度も切ったことがないかのように、保存された状態を読み取って復元します。この技術は主にラップトップユーザーがバッテリーの電力を節約するために使用されますが、デスクトップでも使用できない理由はありません。
  • 休止状態のサポートはUbuntu/Linuxで利用できますが、多くのシステムで正常に動作しなかったため、12.04で無効になりました。詳細情報が必要な場合は、 this question および this bugreport を参照してください。

    より互換性のある代替手段:TuxOnIce

  • TuxOnIcewiki | homepage )は、カーネルの組み込みハイバネーションテクノロジーの代替であり、より互換性があり、信頼性が高く、より柔軟。

  • 簡単にインストールでき、うまく動作しない場合は簡単に削除できます。
  • TuxOnIce'sカスタムカーネルをインストールする必要がありますが、以下の手順により簡単になります。ターミナルを一度も開いたことがなければ、今すぐにしたいかもしれません:-)

    0.要件

    TuxOnIceの唯一の要件は、スワップパーティションが少なくとも使用するメモリ(RAM)の容量と同じであることです。これは次の方法で確認できます。

  • でターミナルを起動します Ctrl+Alt+T

  • free -mと入力すると、次のように表示されます。

                 キャッシュされた使用済み共有バッファの合計
     Mem:1024 731 260 0 0 190 
    -/ + buffers/cache:540 451 
     Swap:1536 6 1530 
    
  • Swap:の後の数字(例:1536)は、moreMem:の後の数字(例、1024)よりも大きくなければなりません

  • これが当てはまらず、スワップがメモリよりもsmallerの場合は、スワップパーティションのサイズを変更してサイズを大きくするか、TuxOnIceを設定して特別なスワップファイル。これはこの答えの範囲を超えていますが、別の質問をしてコメントで言及した場合は、答えて説明します。

    1. TuxOnIceカーネルのインストール

  • でターミナルを起動します Ctrl+Alt+T

  • 次をコピーして端末に貼り付けます。 TuxOnIce PPAが追加され、カスタムカーネルとヘッダーがインストールされます。
    •  sudo apt-add-repository ppa:tuxonice/ppa -y
      そしてPPAが追加されたら:
    • Sudo apt-get update 
       sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
       Sudo apt-get install linux-headers-generic-tuxonice -y
  • 次にリブートします。
  • UbuntuがTuxOnIceカーネルで起動するはずです。問題がある場合は、 Shift 起動時に押すと、Grubメニューが表示されます。矢印キーを使用してPrevious Linux Versionsに移動し、Enterキーを押してからもう一度Enterキーを押して、動作中のカーネルに戻ります。

    2.ハイバネーション機能のテスト。

  • 通常使用するいくつかのアプリケーションを開きます。 Firefox、Thunderbird、LibreOfficeなど.

  • でターミナルを再度開きます Ctrl+Alt+T
  • Sudo pm-hibernateと入力してEnterキーを押し、パスワードを入力します。
  • ロック画面が1秒間表示され、次にTuxOnIce休止状態の進行画面が表示されます(次の図を参照)。

    enter image description here

    • TuxOnIceが機能する場合、コンピューターはシャットダウンします。
    • もう一度起動して、待ってください。 TuxOnIceは、開いた位置で開いたすべてのウィンドウを含め、冬眠したポイントから再開する必要があります。
  • これがすべて機能したら、ステップ3に進み、ダッシュボードからHibernateを有効にします。

    3.ダッシュボードから休止状態を有効にする

  • 押す Alt+F2、以下を入力してEnterを押します。

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • 以下を貼り付けて、 Ctrl+S 保存して Ctrl+Q エディターを終了するには:

    [デフォルトで休止状態を再度有効にする] 
     Identity = unix-user:* 
     Action = org.freedesktop.upower.hibernate 
     ResultActive = yes

    enter image description here

  • 再起動すると、次のようにHibernateオプションが表示されます。

    enter image description here

    4. TuxOnIceの削除

    • TuxOnIceが機能しない場合、または単に削除したい場合は、ターミナルを起動して次を入力します。

       Sudo apt-get remove tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • そして、メニューのHibernateオプションを無効にしてください:

      Sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • その後、再起動します。

18
ish

11.04以前の場合

これを試して

[システム]> [アプリケーションの起動]> [オプション]で、ログオフ時に実行中のアプリケーションを自動的に記憶するをチェックし、-現在のアプリケーションを記憶するをクリックします

11
Open Help

すべてのアプリケーションに最後のウィンドウの位置とサイズを記憶させることはできないようです。この動作はずっと前に削除されたようです。私の理解では、applicationが自身の位置とサイズを記憶するのは責任です。そしてここにこすりがあります。

バグトラッカーを検索すると、この問題に何らかの形で関連する多くのレポートが生成されます。

それでは、どのアプリケーションが位置とサイズを記憶し、どの機能のUbuntuがこの機能を備えていますか?

注:この機能についてテストしたUbuntuのアプリケーションとバージョンを編集して入力してください。つまり、アプリケーションはウィンドウの位置やサイズを記憶しています

テストしたUbuntuのバージョンを選択し、ウィンドウの位置とサイズのいずれかまたは両方が記憶されているかどうかを確認します。

13.04

窓の位置|サイズ

  • Y、Y-ノーチラス
  • N、Y-Firefox不安定な複数モニターの配置
  • N、N-Terminal端末には特定のサイズを毎回記憶するカスタム設定がありますが、最後の位置は記憶しません
  • N、Y-クロム
  • Y、Y-Banshee
  • N、--電卓サイズ変更不可*
  • N、Y-Gedit

バグレポートの例

ここに、バグトラッカーでの簡単な検索からのランダムなバグレポートがあります。 "ウィンドウの位置を記憶"

7
Gerard Roche

Ubuntu 11.04以降でセッションを保存する方法:

  1. ダウンロードしてインストールします DConf-Editor。

  2. ダッシュにdconfと入力して実行します。

DASH-IMG

次のラベルを順番に開きます:org-> gnome

次に、gnome-sessionを選択します

これで、auto-save-sessionオプションが次の画像として表示されますそれをアクティブにします

APP-IMG

完了!

これで、コンピューターの電源を切ると、現在のセッションが自動的に保存されます。次回あなたが曲がるときは、あなたが去ったときとまったく同じです。

5
Lucio

12.04

回避策として、12.04で休止状態を再度有効にし、それを使用してPCをシャットダウンし、使用中のすべてのアプリケーションで起動します。

ターミナルに入力:

Sudo gedit /var/lib/polkit-1/localauthority/50-local.d/hibernate.pkla

次に、この文字列をテキストファイルに追加します。

[Hibernateを再度有効化]
Identity = unix-user:* Action = org.freedesktop.upower.hibernate
ResultActive = yes

こちらです :

enter image description here

その後、休止メニューがシャットダウンメニューに再び表示されます。

enter image description here

それが役立つことを願っています。

3
neonboy

現在の考えでは、適切なセッションの保存/復元機能は、サスペンドまたは休止状態を使用することです。休止状態とサスペンドは、箱から出していない場合、仕事を始めるのが苦痛になる可能性があることに同意します...

しかし、見てください...

CryoPID

CryoPIDを使用すると、Linuxで実行中のプロセスの状態をキャプチャして、ファイルに保存できます。その後、このファイルを使用して、再起動後または別のマシンでプロセスを再開できます。

CryoPIDは、個々のプロセスの中断と再開の複雑さに関するソフトウェア中断メーリングリストの議論から生まれました。

CryoPIDは、実行中のプロセスの状態をキャプチャしてファイルに書き込むフリーズと呼ばれるプログラムで構成されています。ファイルは自己実行および自己解凍型であるため、プロセスを再開するには、そのファイルを実行するだけです。サポート対象の詳細については、以下の表をご覧ください。

機能

  • 一般ユーザーとして実行できます! (ルート権限は不要)
  • 2.4と2.6の両方で動作します。
  • X86およびAMD64で動作します。
  • プロセスを複数回開始および停止できます
  • マシン間およびカーネルバージョン間でプロセスを移行できます(2.4から2.6および2.6から2.4でテスト済み)。

しかし、あまり文書化されておらず、最後にリリースされたDEBはHeron向けであり、Webサイトは2005年に最後に更新されたため、役に立たないかもしれません。 tarballは次のとおりです。

また、 Tuxonice もご覧ください

TuxOnIceは、Windowsの休止状態機能に相当するLinuxとして最も簡単に説明されていますが、より優れています。メモリの内容をディスクに保存し、電源を切ります。コンピューターを再度起動すると、コンテンツが再読み込みされ、ユーザーは中断したところから続行できます。ドキュメントを再ロードしたり、アプリケーションを再起動したりする必要はなく、プロセスは通常のシャットダウンと起動よりもはるかに高速です。

ppa:tuxonice/ppa 

PPAは、TuxOnIceが既にコンパイルされたUbuntuカーネル、useruiバイナリ、およびhibernateスクリプトをプリコンパイルしています。ですから、気の弱い人には向かないかもしれません。


調べる価値のある回避策が1つあります。

  • 開く傾向があるすべてのプログラムを含むスクリプトを作成します。または、これらのスクリプトの2,3,4,5,6を作成し、このスクリプトにキーをバインドします。好む control + alt + 1|2|3|4|5|6 または、それが他の何かを使用している場合。キーを押して、スクリプトがそのスクリプトのすべてのプログラムを開くようにします。

  • そして、次のようなものを使用できます コマンドを使用してアプリケーションをワークスペース1から2にシフトする方法 グループ化する場合は、それらを別のワークスペースにトスします。

あなたが求めたものではありませんが、回避策を探していると思われます:)

3
Rinzwind

スタートアップアプリケーションのすべてのアプリケーションを表示できるようにする必要があります。ターミナルで次のbashコマンドを実行します:Sudo sed -i 's/NoDisplay = true/NoDisplay = false/g' /etc/xdg/autostart/*.desktopその後、スタートアップアプリケーションのすべてのアプリケーションが表示されます。

このリンクからこのヒントを取り上げます http://www.webupd8.org/2012/04/things-to-Tweak-after-installing-ubuntu.html .

申し訳ありませんが私の英語!

サルード!

1
ali3n

これと同様の機能を有効にできます。これを行うには、Ubuntuに場所を記憶させ、ログオフ/シャットダウン時にアプリケーションを実行します。これを行うには、[システム]> [起動アプリケーション]に移動し、[オプション]タブで[ログオフ時に実行中のアプリケーションを自動的に記憶する]チェックボックスをオンにし、[現在のアプリケーションを記憶する]ボタンを押します。

img

1
Marco Ceppi

CCSMでは、Place WindowsプラグインとResize Windowプラグインを使用します。

0
jasmines