General :: Use Command Line And Wmctrl To Make A Window Larger Than The Screen To Get A Huge Screenshot?
Jan 24, 2011
I use a program which makes a large image which I have to scroll to view. The program has no way to save the image, and I have no access to the source to modify it. The only way I have to get the image from the program is by screenshot. My goal is to save the full size image without having to piece together individual screenshots. I'm using this script to try taking a screenshot:
This uses wmctrl to get the window id ($window) for a window named "Program". It then tries to resize the window to the desired dimensions. It uses imagemagick (import) to save a screenshot.png on the user's Desktop. All of this works except the resize step. I can resize the window using wmctrl -r -e, but sizes greater than the screen size don't work. I'm using Ubuntu 10.04 and the Gnome Desktop. I run two monitors, but I've tried this with one of them disabled. Is there a way to resize the window larger than my screen to get a huge screenshot?
Part II: I tried using xrandr to set up screen panning, so as to have a bigger desktop than my monitor. xrandr --output LVDS --panning 2600x2500 This command makes the laptop screen pan over a 2600x2500 size desktop, even though it can only show 1440x900 at one time. To turn off the panning, I can use a similar command to set total size and with zeroes for the panning section. This gives me back my original laptop display behavior. xrandr --fb 1440x900 --output LVDS --panning 0x0 This is all done with xrandr, and does not require any Xorg.conf changes (my Ubuntu system doesn't even have an Xorg.conf).
My video card seems to only allow about 6.5 million pixels, even though the maximum dimensions are 8192x8192. That maximum seems to be the maximum for either dimension, but there is a limit to how many pixels can be drawn, which is the width multiplied by the height. Once I did the screen resize, I tried my script again and got a screenshot. The screenshot however is totally scrambled. I'm not sure if it's unable to take a screenshot of an off-screen window or if it is unable to handle the large dimensions of the window. With the panning display, the window should think it is visible, and the window manager should think it is on-screen. So there is a pixel buffer somewhere with those pixels in it, so there should be a way to get a screenshot.
I made WINE emulate a virtual desktop several times larger than the real desktop in size. Now, i need to make a screenshot of the whole virtual desktop. But, only its visible part gets captured. Making screenshot in parts is not possible as the image is constantly changing. Any ideas on capturing the whole virtual desktop?
I wrote a simple command line script which is suppose to take my screenshot every 5 minutes.(using ImageMagick's "import" program)
Here is the script (shottr.sh):
This is working fine if I execute by hand i.e:
The script itself is being executed (I hear a voice saying: "Screenshot") but the actual screenshot is not taken.
Be assured that it is NOT permission issue (I placed a simple "touch" invocation and file was created)
May be if it's run from cron...it doesn't have a "window" so it can't take a screenshot from nowhere? If that is the case, then how can I workaround it?
I'm using wmctrl on an Ubuntu machine to manage windows from a script, that I run inside a (gnu) screen.
If I start the screen session from the local machine, wmctrl works fine, including if I completely close the terminal window and issue the wmctrl commands when connecting to the screen remotely via ssh. Conversely, if I connect remotely with ssh and start a screen, wmctrl doesn't work (returns "Cannot open display") even if I attach that screen session locally from the Ubuntu Terminal.
I guess there is some hidden screen parameter that doesn't get set in a way that allows accessing the display when it's launched remotely -- any ideas what it is and how to modify it from within a remote ssh-screen session so that that the script can access the windows?
How can I open a folder in a window from the command line. I don't want to list the contents of the folder by the "ls" command, but want to open the folder through the command line, like it opens when we double click on the folder.
every time I logout from Xwindow KDE, it doesn't redirect me to Linux command line, instead it was halted without the machine being shut down. How can I exit from KDE and go to Linux command line?
I use putty to get to my RHEL 5.3 workstation from my Windows laptop.
Typically, if I want a new terminal on my windows 7 workstation from another terminal or mc, I have to type start and I will see a new terminal window running the default shell.
QUESTION : What is the equivalent command in RHEL 5.3 (and or solaris) to create a new terminal window from the command line ? I will be entering this command from the shell prompt or mc's command line.
In Windows, if I want to start another terminal and in that terminal, I want to run a program, I can do "start program.exe arg1 arg2". this will create a new terminal window and runs program.exe in that terminal window. I don't have to create a terminal and then in a separate step run the program. How can I do this in Linux ?
when i start an application it usually places it in the upper left corner or lower right corner or something like that.. but never in the middle of my screen. How can I configure GNOME to always open applications in the middle of my screen..?
I just installed Lubuntu 10.04 on old PC (CPU: 700 Mhz, RAM: 640 MB). My swap partition is only 474 MB. I was told it should be twice my RAM, if that's true then I'm really low on swap space. Can I expand my swap space? I also have Fedora 13 installed, it has a 1.3 GB swap partition, can I have Lubuntu use this partition?
While attempting to install an external screen on my laptop I messed up the KDE screen settings and upon reboot I get a command line interface.Which configuration file should I edit to set up my screen so that I get my Debian lenny KDE GUI back?
I'd like to make all window of of all applications are located in the center of screen when they are started every single time, is there any way to do that ? of course,what i am saying that they are GUI apps, and when they are not started as maximum size window
I was running scripts overnight from the command line (inside Screen on a Linux EC2 instance) and some errors that I was not tracking occurred. I want to "scroll up" or view more of the history in Screen, but I cannot seem to find any commands that will work. I need to see the onscreen output "further up" than I can on my current screen. CTRL + a is supposed to put me into scroll mode inside Screen, but it's not working.
I am having an install problem where the distro I am installing, installed at the wrong screen resolution. The display settings menu doesn't offer the correct resolution so I'm using half my screen real estate.
I have a slight problem. Whenever I type something in rxvt, and sometimes it's a loooong something, I end up having to make it span multiple lines, as do you, probably. Anyway, my problem is that if I'm in any console at all, (aside from the TTY console and such) and I try to go multiple lines, this is what happens:
Code:
[root@SectionI13] > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa After the first pass...
Code:
aaaaaaaectionI13] > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa And after the second pass...
Now, I'd be fine and dandy with this, if it wasn't so hard to figure out what I was typing after the first pass, because it's just plain hard to understand a command when there's the second half of it in front of the first half of it.
I'm looking for a solution which would allow me to move and resize windows (e.g. rdesktop or firefox, etc...) in X. Preferably independent of either GNOME or KDE. The purpose of this is to be able to perform demo, where certain windows would be placed on a laptop's external monitor, without the obvious mouse cursor movements and resizing.
I need to figure out how to tackle the full screen issue using GFCE Ultra. Anyone know this? I have checked off the full screen option, but when it goes to full screen, it just adds black space.
Screenshot 1 Screenshot 2
Finally, how can I use the PS3 wireless controller as my mouse? And after that, set it up for use with the emulators. I found a few links, but not sure which one I should be following:
[url]
[url]
[url]
[url]
They all have some similarities, but also some things that are different.
I am running the command on a Mac but due to it being a generic unix command and a command line query.. I thought I can write on this forum.. I am running the command
Code: df -h | grep '/dev/' I get Code: /dev/disk0s2 389Gi 62Gi 327Gi 16% / /dev/disk0s3 76Gi 24Gi 52Gi 32% /Volumes/Backup /dev/disk3s2 500Gi 47Gi 453Gi 10% /Volumes/Misc Note the huge space between the 1st and 2nd Column..
This is because currently I have some NAS drives mounted which are not showing due to grep. When they are not mounted. The output is fine with equal spaces between each column (like between col 2 and 3.. or 3 and 4). I want to do a (dare I say) sed or awk or something to reduce the space between 1st and 2nd col. So that it has space like between col 3 and 4.. or 2 and 3. This is because I am showing this output somewhere and because of the space its not showing up correctly.Also I hope the command will still work when the NAS drives (afp) are not mounted.. basically consistency. The spaces are not showing properly in the quote tag. Changed it to CODE tag.
How do i take a screenshot without an open window? The 'Print Scrn' does not return the usual pop up window that asks me where i want to put the picture.
I have a 64 bit Ubuntu 9.10 workstation with two virtualized guest OSes using KVM/QEMU. Also both 64-bit. One is Fedora 12 the other is beta of Ubuntu 10.04.
The problem is that I would like to use a larger size display that is configured by default.
Both guest OSes have a maximum screen resolution of 1024x768. I would like to increase this to something like 1280x900 or 1440x900. The resolution of the host system is 1920x1080.
This configuration appears to be a result of the installation detecting the resolution being reported by the virtual screen during installation.
The only information I have found on the subject suggests modifying the xorg.conf file in the /etc/X11 directory. Neither guest system has this file.
I tried creating one by hand in the Fedora system and managed to render it completely unusable. Not a big deal as this is recently installed and can be reinstalled easily.
In dealing with the Nvidia Powermizer, I have to set it to "Prefer Maximum Power" mode from adaptive mode in order that I can avoid laggy in using my GUI. However, it doesn't save this setting so I have to manually tweak it everytime........
Someone on the web taught me to use the following command line: nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 running it in the terminal it will set to the mode I want.
Would I be able to make my computer run the above command in terminal everytime it starts? I tried to put the command in the start up applications and it seems not working.
To hide the user input to be displayed on screen, use the terminal line setting command stty -echo, whatever the user enters after this command will not be displayed in the screen. to make the input characters get displayed on the screen use stty echo.
I'm trying to minimize windows from the CLI (not tied to Gnome/KDE). wmctrl mentions it can set a `hidden' option for windows but this doesn't seem to work. Also found this: [URL]
I am trying to figure something out as part of something else I am going to do. I was just wondering the easiest and quickest way to run a loop at the Linux command line which will make x amount of symbolic links when I need them.
I am using Debian 5.
I figure its something as easy as ~# foreach statement, then I just do a loop with the command to make a sym link.