¿Cómo guardo / recuerdo la posición y el tamaño de la última ventana utilizada para las aplicaciones?


58

Cuando inicio sesión en Ubuntu, me gustaría que todas las ventanas abiertas en la sesión anterior (terminal y Firefox principalmente) se vuelvan a abrir automáticamente en el mismo tamaño y posición.

¿Cómo proceder?


1
Como puede leer aquí, esta característica se eliminó. Sugiero cambiar su pregunta y pedir una solución alternativa equivalente para ofrecer la recompensa.
Jakob

2
¿Por qué? ¿No puedes editar tu pregunta desde que ofreciste esta recompensa? De lo contrario, preguntaría algo como "¿Alguna idea para una solución alternativa?" ¡ya que esta es una pregunta interesante!
Jakob

2
"Me gustaría una respuesta y no un enlace. Por favor, especifique qué debo hacer para resolver el problema que estoy enfrentando". Tendrá que ensuciarse los dedos si desea un método para lograr esto: +
Rinzwind

2
Informes de errores: aquí (2007-07-06) , aquí , aquí (2008-03-21) , aquí , Otras aplicaciones: aquí , aquí , aquí . ¡Hay más!
Gerard Roche

1
¿Posible duplicado que dé una respuesta apropiada de 12.04? - o el engaño debería fusionarse aquí: askubuntu.com/questions/129339/…
fossfreedom

Respuestas:


18

Para 12.04 (y 11.10)

La respuesta corta es: la hibernación es la mejor opción porque la funcionalidad gnome-session-save se eliminó después del 11.04 ya que tenía errores, y el ajuste oficial para volver a habilitar manualmente esta funcionalidad no parece funcionar. La Parte B de esta respuesta describe cómo usar un método de hibernación alternativo, TuxOnIce , que ahora es más compatible y confiable que la hibernación incorporada.

A. Intentando habilitar la antigua funcionalidad de guardado de sesión de Gnome

  • Nota: como se describe al final, este ajuste oficial no parece funcionar, es posible que desee pasar directamente a B. Hibernación con TuxOnIce
  • Este error de Launchpad trata sobre la restauración de la funcionalidad "guardar sesión". Actualmente está marcado como "fijo", porque se introdujo un parche en el gnome-sessionpaquete en abril de 2012, lo que permite a los usuarios volver a habilitar manualmente esta funcionalidad. El parche se describe a sí mismo como:

    • agregue la variable de entorno GNOME_SESSION_SAVE para las personas que desean
      use la sesión de guardar aún, sabiendo que puede dañar su sistema
      si se usa imprudentemente (LP: # 771896)
  • Puede habilitar esto estableciendo la GNOME_SESSION_SAVEvariable en un valor no nulo. Así es cómo:

    • Presione Alt+F2, escriba gedit ~/.pam_environmenty presione enter.
    • Agregue la línea GNOME_SESSION_SAVE=1al final del archivo como se muestra a continuación:

    • ingrese la descripción de la imagen aquí

    • Presione Ctrl+Spara guardar y Ctrl+Qpara salir del editor.

    • Ahora reinicie (cerrar sesión también debería funcionar, pero solo para estar seguro)
  • Lo que hace el parche ( fuente ) es deshabilitar la pestaña Opciones en Aplicaciones de inicio, que solía contener la opción Recordar aplicaciones en ejecución al cerrar sesión . PERO verifica la GNOME_SESSION_SAVEvariable, y si se establece (no es nulo), debe habilitar el guardado de la sesión como si la casilla Recordar ... existiera y estuviera marcada. Es por eso que el error está etiquetado como "arreglado"
    • if (g_getenv ("GNOME_SESSION_SAVE")! = NULL)
                      maybe_load_saved_session_apps (gerente);
    • Desafortunadamente, no parece funcionar, como lo confirma el comentario 32 en el rastreador de errores.
    • Incluso intenté deshabilitar el parche y reconstruirlo gnome-sessiondesde la fuente. Eso hace que la casilla de verificación Opciones vuelva a aparecer, pero no hace nada.
    • ¡Pero oye, de alguna manera puede funcionar para ti! :)

B. Lo que funciona por ahora: Hibernación mejorada con TuxOnIce

  • La hibernación guarda el estado actual del sistema (incluida la sesión, las aplicaciones abiertas, etc.) en el disco duro y apaga la computadora. Cuando lo vuelve a iniciar, lee el estado guardado y lo restaura, como si nunca hubiera apagado la computadora. Esta tecnología es utilizada principalmente por los usuarios de computadoras portátiles para ahorrar energía de la batería, pero no hay razón para que no se pueda usar también en las computadoras de escritorio.
  • El soporte de hibernación está disponible en Ubuntu / Linux, pero se deshabilitó en 12.04 porque no funcionaba correctamente en varios sistemas. Vea esta pregunta y este informe de errores si desea más información.

    Una alternativa más compatible: TuxOnIce

  • TuxOnIce ( wiki | página de inicio ) es una alternativa a la tecnología de hibernación incorporada en el núcleo, y se supone que es más compatible, más confiable y más flexible.

  • Se instala fácilmente y, si no funciona para usted, se elimina fácilmente.
  • Requiere instalar el kernel personalizado de TuxOnIce , pero las instrucciones que siguen deberían facilitarlo. Si nunca ha abierto la terminal antes, es posible que desee ahora :-)

    0. Requisitos

    El único requisito para TuxOnIce es que su partición de intercambio sea al menos tan grande como la cantidad de memoria (RAM) que tiene. Puede verificar esto por:

  • Comience la terminal con Ctrl+ Alt+T

  • Escriba free -m, y debería ver algo como esto:

                 total de buffers compartidos gratuitos usados ​​en caché
    Memoria: 1024731 260 0 0 190
    - / + buffers / caché: 540 451
    Intercambio: 1536 6 1530
    
  • El número después Swap:(por ejemplo, 1536) debe ser mayor que el número después Mem:(por ejemplo, 1024)

  • Si este no es el caso, y su intercambio es más pequeño que su memoria, debe cambiar el tamaño y aumentar el tamaño de su partición de intercambio, o configurar TuxOnIce para usar un archivo de intercambio especial. Eso está más allá del alcance de esta respuesta, pero si hace otra pregunta y la menciona en los comentarios, responderé y explicaré cómo.

    1. Instalando el kernel TuxOnIce

  • Comience la terminal con Ctrl+ Alt+T

  • Copie y pegue lo siguiente en la terminal. Esto agrega el TuxOnIce PPA e instala el kernel y los encabezados personalizados.
    • sudo apt-add-repository ppa: tuxonice / ppa -y
      y una vez que se agrega el ppa:
    • sudo apt-get update
      sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install linux-headers-generic-tuxonice -y
  • Ahora reiniciar.
  • Ubuntu debería comenzar ahora con el kernel TuxOnIce . Si hay algún problema, mantenga Shiftpresionado al inicio y obtendrá el menú Grub. Use las teclas de flecha para ir Previous Linux Versions, presione enter y presione enter nuevamente para volver al núcleo de trabajo.

    2. Prueba de funcionalidad de hibernación.

  • Abra algunas de las aplicaciones que usa normalmente, por ejemplo, Firefox, Thunderbird, LibreOffice, etc.

  • Abra la terminal nuevamente, con Ctrl+ Alt+ T.
  • Escriba sudo pm-hibernate, presione enter, ingrese su contraseña.
  • Debería ver la pantalla de bloqueo por un segundo, y luego la pantalla de progreso de hibernación de TuxOnIce, como la siguiente:

    ingrese la descripción de la imagen aquí

    • Si TuxOnIce funciona, su computadora se apagará.
    • Comience de nuevo y espere. TuxOnIce debería reanudarse desde el punto en que hibernaba, incluidas todas las ventanas que abrió en la posición que abrió.
  • Si todo esto funcionó, vaya al Paso 3, que le permite habilitar Hibernate desde el tablero.

    3. Habilitación de la hibernación desde el tablero

  • Presione Alt+ F2, escriba lo siguiente y luego presione Intro:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Pegue lo siguiente, presione Ctrl+ Spara guardar y Ctrl+ Qpara salir del editor:

    [Volver a habilitar la hibernación por defecto]
    Identidad = usuario unix: *
    Acción = org.freedesktop.upower.hibernate
    ResultActive = yes

    ingrese la descripción de la imagen aquí

  • Reinicie, y debería ver la opción Hibernar como se muestra a continuación:

    ingrese la descripción de la imagen aquí

    4. Eliminando TuxOnIce

    • Si TuxOnIce no funciona para usted, o simplemente desea eliminarlo, inicie el terminal e ingrese:

       sudo apt-get eliminar tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • y recuerde deshabilitar la opción Hibernar en el menú con:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Luego reinicie.


3
Esta es una respuesta realmente exhaustiva, pero creo que la pregunta es "cómo hacer que las aplicaciones recuerden el tamaño y la posición de su ventana", incluso persistiendo entre reinicios. Quizás esto ni siquiera sea una configuración de aplicación, ¿tal vez el administrador de ventanas? Todas las soluciones actuales (incluida la devispie) no tienen efecto en Firefox, por ejemplo. Se abre arriba a la derecha para mí, pase lo que pase. Buena respuesta sin embargo. La pregunta podría necesitar otra edición si mi comprensión es correcta.
Tom Brossman

@TomBrossman, es un poco más matizado, en mi opinión: el OP quiere que el "estado" del escritorio al cerrar sesión / apagado se restablezca al iniciar sesión / reiniciar, que es técnicamente diferente a las aplicaciones que recuerdan su último tamaño / posición entre instancias. El consenso es que ha sido un status quo entre el administrador de ventanas y las comunidades de desarrollo de aplicaciones desde hace un tiempo: cada uno cree que es responsabilidad del otro lado garantizar que se mantengan los parámetros de la ventana de la aplicación. Es probable que la única solución verdadera para lo que menciona sea algún tipo de script de envoltura para cada aplicación que guarde / restaure la posición.
ish

1
Esta es la exageración más brutal para un problema simple que he visto y probablemente no valga la pena cambiar los bits de hibernación y no le haría esto a ninguna de mis máquinas, ¡sino +150 por un trabajo completo!
Jorge Castro

Escribí "free -m" y descubrí que mi número de intercambio (255) es más pequeño que el de mem (3841), así que no procedí. ¿Cómo puedo solucionar esto? Gracias.
led-Zepp

El diálogo de esta respuesta, aunque interesante, distrae de los detalles de esta pregunta real. Esta pregunta se ha hecho muchas veces. Las respuestas rara vez abordan la pregunta real. El OP no está tratando de guardar sesiones. Él quiere tener a comenzar desde el último tamaño y la posición .... Not remember & start same session... Cuando se inicia una nueva sesión con las aplicaciones ( terminaly firefox), incluso en el mismo inicio de sesión, Remember the last-used window size and position. Esto ahorrará mucho tiempo al tratar de reubicar y cambiar el tamaño de la aplicación en cada sesión ... cada vez que se ejecuta la aplicación.
LD James

11

Para 11.04 y anteriores

Prueba esto

Sistema> Iniciar aplicaciones> Opciones y marque Recordar automáticamente las aplicaciones en ejecución al cerrar sesión y haga clic en recordar aplicaciones actuales.


3
No hay pestaña Opciones, v11.10?
Gerard Roche

7

No parece posible que todas las aplicaciones recuerden su última posición y tamaño de ventana. Este comportamiento parece haberse eliminado hace mucho, mucho tiempo. Tengo entendido que es responsabilidad de la aplicación recordar su propia posición y tamaño. Y aquí en mentiras la frotación.

Una búsqueda a través del rastreador de errores produce muchos informes que de alguna manera son relevantes para este problema.

Entonces, ¿qué aplicaciones recuerdan la posición y el tamaño y qué versiones de Ubuntu tienen las aplicaciones esta funcionalidad?

Nota: Edite y complete las aplicaciones y versiones de Ubuntu que ha probado para esta funcionalidad. es decir, la aplicación recuerda la posición y / o el tamaño de la ventana.

Especifique la versión de Ubuntu que ha probado y si se recuerda una o ambas posiciones y tamaño de la ventana.

13.04

posición de la ventana | Talla

  • Y, Y - Nautilus
  • N, Y: ubicaciones de monitores multiples erráticos de Firefox
  • N, N - Terminal El terminal tiene configuraciones personalizadas para recordar un tamaño específico cada vez, pero no recordará la última posición
  • N, Y - Cromo
  • Y, Y - Banshee
  • N, - - La calculadora no es redimensionable *
  • N, Y - Gedit

Ejemplos de informes de errores

Aquí hay algunos informes de errores aleatorios de una búsqueda simple en el rastreador de errores, por ejemplo, "recordar la posición de la ventana" .

2013 2012 2011 2009 2008 2007

Bullfrogblues lo golpeas en el clavo. Puede agregar que la característica real de for en Ubuntu existe en ccsm . Está bajo Place Windows... detalles en: askubuntu.com/a/708984/29012 .
LD James

¿Dónde guarda Firefox el tamaño de su ventana y los datos de ubicación?
Royi

5

Cómo guardar una sesión en Ubuntu 11.04 o superior:

  1. Descargue e instale DConf-Editor.

  2. Escriba dconfen el tablero y ejecútelo.

DASH-IMG

Abra las siguientes etiquetas en orden: org->gnome

Luego seleccione gnome-session

Ahora debería ver la auto-save-sessionopción como la siguiente imagen, activarla .

APP-IMG

¡HECHO!

Ahora, cuando apaga su computadora, la sesión actual se guardará automáticamente. La próxima vez que gire será exactamente como se fue.


2
Esto no parece hacer nada para que las ventanas de la aplicación recuerden el tamaño y la posición.
Gerard Roche

No entiendo lo que intentas decir.
Lucio

1
Esta pregunta se hace muchas veces en askubuntu.com. Ninguna de las muchas respuestas aborda lo específico de la pregunta específica. No se trata de hibernación, se trata de abrir el inicio terminal o la firefoxaplicación, ajustar el tamaño y la posición de la ventana, luego, cuando lo inicie nuevamente, el tamaño y la posición son los que acaba de configurar. No está tratando de recordar una sesión anterior. Sólo quiere el terminalo firefoxinicio de aplicaciones en el último tamaño y posición. Una nueva sesión / el mismo tamaño y posición desde la misma aplicación.
LD James

3

La creencia actual es que la característica adecuada de guardar / restaurar sesión es usar suspender o hibernar. Sin embargo, estoy de acuerdo en que hibernar y suspender puede ser un trabajo difícil si no salen de la caja ...

Pero mira ...

Criopid

CryoPID le permite capturar el estado de un proceso en ejecución en Linux y guardarlo en un archivo. Este archivo se puede usar para reanudar el proceso más adelante, ya sea después de un reinicio o incluso en otra máquina.

CryoPID se generó a partir de una discusión sobre la lista de correo de suspensión de Software sobre las complejidades de suspender y reanudar procesos individuales.

CryoPID consiste en un programa llamado congelar que captura el estado de un proceso en ejecución y lo escribe en un archivo. El archivo es autoejecutable y autoextraíble, así que para reanudar un proceso, simplemente ejecute ese archivo. Consulte la tabla a continuación para obtener más detalles sobre lo que se admite.

Caracteristicas

  • Puede ejecutarse como un usuario ordinario! (no se necesitan privilegios de root)
  • Funciona tanto en 2.4 como en 2.6.
  • Funciona en x86 y AMD64.
  • Puede iniciar y detener un proceso varias veces
  • Puede migrar procesos entre máquinas y entre versiones de kernel (probado entre 2.4 a 2.6 y 2.6 a 2.4).

Sin embargo, no está muy bien documentado y el último DEB lanzado fue para Heron y el sitio web se actualizó por última vez en 2005, por lo que podría ser inútil. Aquí están los tarballs:

Y también echa un vistazo a Tuxonice

TuxOnIce se describe más fácilmente como el equivalente de Linux de la funcionalidad de hibernación de Windows, pero mejor. Guarda el contenido de la memoria en el disco y se apaga. Cuando la computadora se inicia nuevamente, vuelve a cargar el contenido y el usuario puede continuar desde donde lo dejó. No es necesario volver a cargar los documentos o volver a abrir las aplicaciones y el proceso es mucho más rápido que un apagado y arranque normales.

ppa:tuxonice/ppa 

El PPA ha precompilado los núcleos de Ubuntu con TuxOnIce ya compilado, el binario userui y el script de hibernación. Por lo tanto, podría no ser para los débiles de corazón.


Hay una solución alternativa que vale la pena considerar:

  • Cree un script que tenga todos los programas que tiende a abrir. O cree 2,3,4,5,6 de esos guiones y vincule una clave a este guión. Me gusta control + alt + 1|2|3|4|5|6o si eso está en uso otra cosa. Presiona la tecla y deja que el script abra todos los programas de ese script.

  • Y puede usar algo como esto para cambiar las aplicaciones del espacio de trabajo 1 al 2 usando el comando para lanzarlas a otros espacios de trabajo si desea agruparlas.

No es lo que pediste, pero parece que se considera que buscamos soluciones :)


1
Hmmm ... supongo que pasará un tiempo antes de que se puedan hacer suficientes ajustes en CryoPID antes de que podamos hacerlo compatible con el kernel 3.0. Si hay alguna forma de proceder para obtener la respuesta a mi pregunta, entonces esta es la respuesta. Gracias Rinzwind
harisibrahimkv

Parece que cryopid está muerto en el agua. Tuconice parece esperanzado sin embargo. Lea algunos comentarios positivos al respecto. Y no hay problema @harisibrahimkv. Utilicé esa opción bastante en los viejos tiempos (pero también tengo que estar de acuerdo en que era muy, muy defectuosa). Tengo otra opción, pero realmente no es el momento para investigar más: ¿qué tal un script que abre todos sus programas y los envía a un espacio de trabajo? xdotool debería poder hacer esto?
Rinzwind

3

12.04

Como solución alternativa, puede volver a habilitar la hibernación en 12.04 y usarla para apagar su PC y luego reactivarla con todas sus aplicaciones aún en uso.

Escriba en la terminal:

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

y luego agregue esta cadena al archivo de texto:

[
Rehabilitar Hibernate] Identidad = usuario-unix: * Acción = org.freedesktop.upower.hibernate
ResultActive = yes

De esta manera :

ingrese la descripción de la imagen aquí

Luego, la opción de hibernación se mostrará nuevamente en el menú de apagado:

ingrese la descripción de la imagen aquí

Espero que ayude.


2
Gracias por tomarse el tiempo para dar su respuesta. Pero desafortunadamente, la opción de Hibernación no es una solución para mi pregunta.
harisibrahimkv

1
¿Qué es esa aplicación que se ejecuta en el escritorio? o son solo iconos? (Angry Birds / Firefox, etc.), es agradable ... enlace por favor: D: D: D: P
kernel_panic

Sospecho que es solo un fondo de pantalla, pero me encantaría tener un tema de ícono como ese
abre el

1

Puede habilitar una función similar a esta. Puede hacer esto haciendo que Ubuntu recuerde las ubicaciones y las aplicaciones en ejecución al cerrar sesión / cerrar. Para hacerlo, vaya a Sistema> Aplicaciones de inicio y en la pestaña Opciones marque "Recordar automáticamente las aplicaciones en ejecución al cerrar sesión" y presione el botón "Recordar las aplicaciones actuales".

img


66
12.04 no tiene una pestaña de opciones en Preferencias de aplicaciones de inicio.
fragos

1

Debe habilitar para ver todas las aplicaciones en la aplicación de inicio. Ejecute este comando bash en un terminal: sudo sed -i 's / NoDisplay = true / NoDisplay = false / g' /etc/xdg/autostart/*.desktop Después de eso, verá todas las aplicaciones en Startup Applications.

Tomo este consejo de este enlace http://www.webupd8.org/2012/04/things-to-tweak-after-installing-ubuntu.html , tal vez le interese.

Lo siento foy mi inglés!

Saludos!


3
Gracias por el enlace ya que lo encuentro muy útil. Pero me temo que esta no es la respuesta que estoy buscando. Lo que ha sugerido muestra las aplicaciones de inicio que realmente se ejecutan al inicio en el menú de aplicaciones de inicio.
harisibrahimkv

0

En CCSM, use los complementos Place Windows y Resize Window.


1
Colocar ventanas parece agregar algunos algoritmos de colocación o, alternativamente, requiere que ingrese reglas para unir y colocar ventanas en lugares particulares. No pude hacerlo simplemente recordar dónde se colocaron las ventanas la última vez que inicié sesión. Sin embargo, parece útil.
John S Gruber

2
¿Podría proporcionar más detalles en su respuesta sobre cómo usar estos complementos para obtener el efecto deseado? ¡Gracias!
Christopher Kyle Horton

-1

1)

Sin embargo, CryoPID no está muy bien documentado y el último DEB lanzado fue para Heron y el sitio web se actualizó por última vez en 2005, por lo que podría ser inútil.

CryoPID le permite capturar el estado de un proceso en ejecución en Linux y guardarlo en un archivo. Este archivo se puede usar para reanudar el proceso más adelante, ya sea después de un reinicio o incluso en otra máquina.

CryoPID consiste en un programa llamado congelar que captura el estado de un proceso en ejecución y lo escribe en un archivo. El archivo es autoejecutable y autoextraíble, así que para reanudar un proceso, simplemente ejecute ese archivo. Consulte la tabla a continuación para obtener más detalles sobre lo que se admite.

Caracteristicas

  • Puede ejecutarse como un usuario ordinario! (no se necesitan privilegios de root)
  • Funciona tanto en 2.4 como en 2.6.
  • Funciona en x86 y AMD64.
  • Puede iniciar y detener un proceso varias veces
  • Puede migrar procesos entre máquinas y entre versiones de kernel (probado entre 2.4 a 2.6 y 2.6 a 2.4).

Aquí están los tarballs:

2)

Tuxonice probablemente esta sea su mejor apuesta y puede funcionar.

TuxOnIce se describe más fácilmente como el equivalente de Linux de la funcionalidad de hibernación de Windows, pero mejor. Guarda el contenido de la memoria en el disco y se apaga. Cuando la computadora se inicia nuevamente, vuelve a cargar el contenido y el usuario puede continuar desde donde lo dejó. No es necesario volver a cargar los documentos o volver a abrir las aplicaciones y el proceso es mucho más rápido que un apagado y arranque normales.

sudo add-apt-repository ppa:tuxonice/ppa

El PPA ha precompilado los núcleos de Ubuntu con TuxOnIce ya compilado, el binario userui y el script de hibernación. Por lo tanto, podría no ser para los débiles de corazón.


Hay una solución alternativa que vale la pena considerar:

  • Cree un script que tenga todos los programas que tiende a abrir. O cree 2,3,4,5,6 de esos guiones y vincule una clave a este guión. Me gusta control + alt + 1|2|3|4|5|6o si eso está en uso otra cosa. Presiona la tecla y deja que el script abra todos los programas de ese script.

  • Y puede usar algo como esto para cambiar las aplicaciones del espacio de trabajo 1 al 2 usando el comando para lanzarlas a otros espacios de trabajo si desea agruparlas.

No se me permite copiar la respuesta de alguien, así que fuente .


1
Ha copiado y pegado completamente la respuesta desde aquí ( askubuntu.com/questions/129339/… ). Si hace esto en el futuro, acéptelo agregando la cita.
fossfreedom

@fossfreedom ¿Puedo publicar la respuesta de alguien? No lo haré si no debería.
Rahul Virpara

@virpara: quizá esta meta, pero reconocen la cuestión de origen / respuesta al principio si voy a utilizar cualquier parte de ella en mi respuesta
ish

1
Si es parte de la respuesta de alguien, explíquelo en su respuesta. Dado que copió el 99% de la respuesta, entonces solo debe vincular a la respuesta. Tenga en cuenta que ya he vinculado esta Q en un comentario de la pregunta. En mi opinión, las dos Q son muy similares y pueden necesitar fusionarse.
fossfreedom
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.