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


58

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

どうやって進める?


1
ここで読むことができるように、この機能は削除されました。質問を変更し、同等の回避策を求めて報奨金を提供することをお勧めします。
ヤコブ

2
どうして?この賞金を提供してから質問を編集できませんか?それ以外の場合は、「回避策のアイデアはありますか?」これは興味深い質問だからです!
ヤコブ

2
「リンクではなく答えが欲しい。私が直面している問題を解決するために私がすべきことをすべて指定してください。」これを達成する方法が必要な場合は、指を汚す必要があります。+
Rinzwind

2
バグレポート:here(2007-07-06)herehere(2008-03-21)here、その他のアプリ:hereherehere。さらにあります!
ジェラルドロシュ

1
適切な12.04回答を与える可能性のある重複 -またはだまされやすい人は、ここでマージする必要があります。askubuntu.com/questions/129339/...
fossfreedomの

回答:


18

12.04(および11.10)の場合

簡単な答えは、11.04以降、バグが多かったためgnome-session-save機能が削除され、この機能を手動で再度有効にする公式の調整が機能しないため、休止状態が最良のオプションです。この回答のパートB では、現在の組み込みハイバネーションよりも互換性と信頼性が高い代替ハイバネーションメソッドTuxOnIceの使用方法について説明しています。

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

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

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

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

    • ここに画像の説明を入力してください

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

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

B.現時点での機能:TuxOnIceで強化された休止状態

  • ハイバネーションは、現在のシステム状態(セッション、開いているアプリケーションなどを含む)をハードディスクに保存し、コンピューターをシャットダウンします。もう一度起動すると、保存された状態が読み取られ、コンピュータをオフにしたことがないかのように復元されます。この技術は主にラップトップユーザーがバッテリーの電力を節約するために使用されますが、デスクトップでも使用できない理由はありません。
  • 休止状態のサポートはUbuntu / Linuxで利用できますが、多くのシステムで適切に機能していなかったため、12.04で無効になりました。詳細については、この質問バグレポートをご覧ください。

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

  • TuxOnIcewiki | ホームページ)は、カーネルに組み込まれた休止状態テクノロジーの代替であり、より互換性があり、信頼性が高く、柔軟性が高いはずです。

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

    0.要件

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

  • Ctrl+ Alt+で端末を起動しますT

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

                 キャッシュされた使用済み共有バッファの合計
    メンバー:1024 731 260 0 0 190
    -/ +バッファ/キャッシュ:540 451
    スワップ:1536 6 1530
    
  • 後の数Swap:(1536など)は、後の数(1024など)より大きくする必要がありますMem:

  • これが当てはまらず、スワップがメモリより小さい場合は、スワップパーティションのサイズを変更してサイズを大きくするか、特別なスワップファイルを使用するように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-hibernateEnter キーを押し、パスワードを入力します。
  • ロック画面が1秒間表示され、次にTuxOnIce休止状態の進行画面が表示されます(次の図を参照)。

    ここに画像の説明を入力してください

    • 場合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

    ここに画像の説明を入力してください

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

    ここに画像の説明を入力してください

    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
    • その後、再起動します。


3
これは本当に徹底的な答えですが、質問は「アプリケーションがウィンドウのサイズと位置を記憶する方法」であり、再起動間でも持続することだと思います。おそらくこれはアプリの設定でさえないかもしれません。ウィンドウマネージャーかもしれません。たとえば、現在のすべてのソリューション(devispieを含む)は、Firefoxには影響しません。それが何であれ、それは私にとって右上に開きます。いい答えだ。私の理解が正しければ、質問に別の編集が必要になる場合があります。
トム・ブロスマン

@TomBrossman、それはもう少し微妙です、IMO:OPはログイン/ブートアップ時に復元されたログアウト/シャットダウン時のデスクトップの「状態」を望んでいます。コンセンサスは、しばらくの間ウィンドウマネージャーとアプリケーション開発コミュニティの間で現状維持されているということです。それぞれが、アプリウィンドウのパラメーターが保持されることを保証することは相手側の責任であると考えています。あなたが言及する唯一の真の回避策は、位置を保存/復元する各アプリのラッパースクリプトのようなものです。
っぽい

1
これは私が今まで見た単純な問題に対する最も残忍な過剰であり、おそらく休止状態のビットを交換する価値はなく、私はこれを私のマシンのいずれにもしませんが、徹底的な仕事のために+150!
ホルヘカストロ

「free -m」と入力しましたが、スワップ番号(255)がmem(3841)よりも小さいことがわかったため、先に進まなかったのですが、どうすれば修正できますか?ありがとう。
led-Zepp 14年

この回答の対話は、興味深いものの、この実際の質問の詳細から逸れています。この質問は何度も聞かれています。答えはめったに実際の質問に対処しませんでした。OPはセッションを保存しようとはしていません。彼は、彼らが最後のサイズと位置からスタートしていたい... Not remember & start same session...アプリケーション(との新しいセッション開始する場合terminalとがfirefox同じであっても、ログインの上、)、 Remember the last-used window size and position。これにより、すべてのセッションでアプリの位置とサイズを変更する時間を大幅に節約できます...アプリを実行するたびに。
LDジェームズ

11

11.04以前の場合

これを試して

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


3
[オプション]タブはありません、v11.10?
ジェラルドロシュ

7

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

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

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

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

テストしたUbuntuのバージョンを指定し、ウィンドウの位置とサイズのいずれかまたは両方が記憶されている場合。

13.04

窓の位置| サイズ

  • Y、Y- ノーチラス
  • N、Y- Firefoxの 不安定な複数モニターの配置
  • N、N- ターミナル ターミナルには毎回特定のサイズを記憶するカスタム設定がありますが、最後の位置は記憶しません
  • N、Y- クロム
  • Y、Y- バンシー
  • N、-- 計算機 はサイズ変更できません *
  • N、Y- Gedit

バグレポートの例

以下に、バグトラッカーでの単純な検索からのランダムなバグレポートをいくつか示します

2013 2012 2011 2009 2008年 2007

ブルフロッグブルースを爪に当てます。Ubuntuのforの実際の機能がccsmに存在することを追加できます。それは下ですPlace Windows:...の詳細askubuntu.com/a/708984/29012
LDジェームズ

Firefoxはウィンドウサイズと位置データをどこに保存しますか?
-Royi

5

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

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

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

ダッシュイメージ

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

次に選択 gnome-session

これで、auto-save-sessionオプションが次の画像のように表示され、アクティブになります。

APP-IMG

完了!

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


2
これは、サイズと位置を記憶しているアプリケーションウィンドウに対しては何もしないようです。
ジェラルドロシュ

何を言おうとしているのか分かりません。
ルシオ

1
この質問は、askubuntu.comで何度も聞かれます。多くの回答のどれも、特定の質問の特定に対処していません。それはそれは始動口についてです、休止状態ではないのですterminal firefox、あなたは再びそれを起動すると、アプリをウィンドウのサイズと位置を調整し、その後、サイズと位置はあなただけで設定される1つです。彼は前のセッションを思い出そうとしていません。彼はterminalfirefoxアプリを最後のサイズと位置から開始したいだけです。新しいセッション/同じアプリからの同じサイズと位置。
LDジェームズ

3

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

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

CryoPID

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

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

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

特徴

  • 一般ユーザーとして実行できます!(ルート権限は不要)
  • 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にシフトし、それらをグループ化する場合に別のワークスペースに投げることができます。

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


1
うーん。CryoPIDを十分に調整してから3.0カーネルとの互換性を持たせるまでにはしばらく時間がかかると思います。私の質問への答えを進めるための方法があれば、これがそれです。ありがとう、Rinzwind。
ハリシブラヒムク

クリオピッドは水中で死んでいるようです。しかし、tuconiceは希望に満ちているようです。それに関するいくつかの肯定的なフィードバックをお読みください。また、問題はありません@harisibrahimkv昔はかなり多くこのオプションを使用していました(ただし、非常にバグが多いことに同意する必要があります)。別のオプションもありますが、実際に詳しく調べる時間ではありません。すべてのプログラムを開いてワークスペースに送信するスクリプトはどうでしょうか。xdotoolはこれを行うことができますか?
リンツウィンド

3

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

こちらです :

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

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


2
ご回答いただきありがとうございます。しかし、残念ながら、休止状態オプションは私の質問の回避策ではありません。
ハリシブラヒムク

1
そのアプリはデスクトップで何を実行していますか?またはそれらは単なるアイコンですか?(怒っている鳥/ firefoxなど)、その素敵な...リンクしてください:D:D:D:P
kernel_panic

私はそれがただの壁紙だと思うが、私はそのようなアイコンのテーマを持っていると思います
14

1

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

img


6
12.04には、スタートアップアプリケーションの設定にオプションタブがありません。
fragos

1

スタートアップアプリケーションのすべてのアプリケーションを表示できるようにする必要があります。ターミナルで次の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からこのヒントを取り上げます。おそらく興味があるでしょう。

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

サルード!


3
私はそれが非常に便利だと思うので、リンクをありがとう。しかし、私はこれが私が探している答えではないことを恐れています。あなたが提案したものは、起動時に実際に実行される起動アプリケーションを起動アプリケーションメニューに表示します。
harisibrahimkv

0

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


1
プレースウィンドウには、いくつかのプレースメントアルゴリズムが追加されているように見えます。または、特定の場所にウィンドウを一致させて配置するルールを入力する必要があります。前回ログインしたときにウィンドウがどこに配置されたかを単純に思い出すことはできませんでした。しかし、便利そうに見えます。
ジョンSグルーバー

2
これらのプラグインを使用して目的の効果を得る方法について、回答の詳細を教えていただけますか?ありがとう!
クリストファーカイルホートン

-1

1。

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

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

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

特徴

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

tarballは次のとおりです。

2。

Tuxoniceはおそらくこれがより良い方法であり、動作する可能性があります。

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

sudo add-apt-repository ppa:tuxonice/ppa

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


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

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

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

私は、誰かの答えをコピーすることができ、そうではないのですソース


1
ここから回答を完全にコピーして貼り付けました(askubuntu.com/questions/129339/…)。将来これを行う場合は、引用を追加してこれを確認してください。
fossfreedomの

@fossfreedom誰かの答えを投稿できますか?するべきでないなら、私はしません。
ラーフルヴィルパラ

@virpara:私が使用しているつもりだ場合は、この多分メタは、私は初めに、ソースの質問/答えを認める任意の部分私の答えでそれを
っぽい

1
誰かの答えの一部である場合、あなたの答えでそれを明示的にしてください。回答の99%をコピーした場合、回答にリンクするだけです。注意してください-質問のコメントでこのQを既にリンクしています。私の考えでは、2つのQは非常に似ており、マージが必要な場合があります。
fossfreedomの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.