Adding a CUPS printing server filter - printing

So I just got a raspberry pi with the intention to make my Rollo label printer wireless. I installed Raspbian and PrintNode, but when it came down to downloading the Rollo driver onto the device I couldn't because it expects an 86_64x cpu and mine is armv71.
I inspected the .ppd and found that the main issue was a failed filter, bc Rollo is trying to use a filter that cups cannot find.
Is there a way to just copy a filter into CUPS? how do I add a custom filter so CUPS can find it and I can use my printer?

I've been hunting this down trying to solve the exact same problem for a bit now and have come to the conclusion that it's not possible unless one of these things happens:
Rollo releases a filter that's been compiled for the ARM arch.
Someone reverse engineers the compiled filter to recompile it for ARM.
Rollo releases the filter source code so we can compile our own for the RPi (ie. ARM).
Update: Rollo released a beta RPi driver here: https://www.rollo.com/driver-dl/beta/rollo-driver-raspberrypi-beta.zip
The first two seem the most unlikely. The third seems possible and I think I'll ask them to do just that... but who knows how they view their IP.
That said, I punted for a small fanless (well, it had a fan...) Celeron micropc that runs Ubuntu x86_64 until the Rollo filter comes out for ARM. Good luck!

Related

Compositor for RHEL?

I have Xmonad window manager installed on a RHEL 7.9 machine. The issue is I cannot seem to set the transparency for my terminal windows.
From the little previous experience I have with this, I believe I need some form of compositor.
I have tried doing a yum search for the usual suspects of compton/picom but cannot seem to find them. (This is a work machine and so I believe it has a subset of the main package repos available).
Is there any compositor like this which I should be able to use? Has anyone done this on RHEL?
If the answer is there are packages available, and I just cannot see them, I am able to request for packages to be added to our repository too, I simply need to know what they are.
Thanks in advance.

Could I install Delphi and my libraries on a USB key in such a way as to allow debugging of my app on a customers PC?

Back in the days of Delphi 7, remote debugging was mostly ok. You set up a TCP/IP connection, tweaked a few things in the linker and you could (just about) step through code running on another PC whilst keeping your Delphi IDE and its libraries on your development PC.
Today, with Delphi XE2,3,4 you have paserver which, at least at the moment can be flaky and slow. It is essential for iOS (cross platform) development, but here at Applied Relay Testing we often have to debug on embedded PC's that run recent Windows. To do this we have employed a number of strategies but the hardest situation of all is to visit a customer site and wish that one could 'drop in' a Delphi IDE + libraries and roll up ones sleeves to step through and set breakpoints in source code.
It is quite likely - hopefully - that the paserver remote debugging workflow and its incarnations will improve over time but for now I got to wondering how it might be possible to install Delphi + libraries + our source code on a USB key so that with only a minimal, perhaps automated setup, one could plug that key into a PC and be compiling, running and debugging fairly quickly.
I can see that the registry is one of the possible issues however I do remember that Embarcadero once talked about being able to run their apps from a USB key. Knowing how much of a pain it is to install my 20-odd libraries into Delphi though, it is not trivial and needs thinking about.
Has anyone done anything like this or have any ideas of how it might be done?
Delphi does not support what you are asking for. But what you could do is create a virtual machine with your OS, IDE, libraries etc installed in it, then copy the VM onto a USB drive, install the VM software on the customer system, and run your VM as-is. There are plenty of VM systems to choose from.
First, I need to get this out of the way: embedded PCs running Windows?? Sob.
Ok, now for a suggestion: if a full virtual machine isn't an option for this task, application-level virtualization may be. This intercepts registry calls and other application-level information and maps them to a local copy, allowing essentially any application to be turned into a portable version. The good news is that there are free versions of several programs that can turn Windows programs into virtualized apps.
The only one I've personally used is MojoPac, and found it delivered as promised although was very slow running off of a (old, very slow) flash drive.
http://lifehacker.com/309233/make-any-application-portable-with-mojopac-freedom
I haven't used this newer "freedom" version though.
Two other programs I've seen that appear to be popular are Cameyo:
http://www.techsupportalert.com/content/create-your-own-portable-virtual-version-any-windows-program.htm
and P-Apps,
http://dottech.org/26404/create-a-portable-version-of-any-software-with-p-apps/
but I can't vouch for the quality of either of these two.
Hope this helps.

Which VM is suitable for which Pharo/Squeak release on which system?

Is there a place (website) where i can find information on which VM is needed (minimum/maximum) for a specific Pharo or Squeak release on a specific OS?
I don't know if that exact information is documented, but I can try to give you a brief explanation... Even Pharo and Squeak paths have diverged a lot in the last times.
Pharo Official VM is the CogVM which is a StackVM with JIT. Then it also have StackVMs for platforms where code generation is not allowed.
The official virtual machines for Pharo are listed in http://www.pharo-project.org/pharo-download, and they work for sure from Pharo 1.2 up to Pharo 2.0. You can also have a look at the complete set of built vms in the CI server https://ci.lille.inria.fr/pharo/view/Cog/.
For older releases, Pharo (1.0 and 1.1) keeps a history of one-click distribution where the vm is freezed along with the image. You can find them in here: https://gforge.inria.fr/frs/?group_id=1299
On the other side, for Squeak, the same CogVMs should work in their latest versions, otherwise you should get an interpreter VM from http://squeakvm.org/index.html.
Hope it helps a bit
As #guillepolito says, the best thing today is to take the ones from the Pharo continuous integration Jenkins server (or pick a one-click).
Squeak VMs have been fading out in my practice. I keep a number of them around but as I do use Pharo, I try to build my own version from the Jenkins source as there is a lot to be learned from using those.
It is not difficult to get them built on the main platforms and at least you know what's under.
The main problem is that Eliot Miranda keeps on doing his things in his corner instead of working on a shared source three. That's the problem of having a low truck number on that.

vmware player install hangs? vista 32bit

Hi
I am a noob trying to setup my computer so i can make a social networking website.
Sorry if its not kosher to ask here, but Hopefully one of you smart guys can help me.
I want to test some CMS (content management systems), firstly Elgg and then some others.
As far as ive read i can do this by using a virtual machine like VMware Player.
Now originally i wanted to try out Insoshi so i tried to use Cygwin and GitBash (also Putty tools) to download it (with no success). This involved me installing those programs and also trying to get an ssh environment variable working. So i gaveup on that (seeing that Elgg has more support anyhow i thought id try to try that). I uninstalled these programs, deleted leftover directories and deleted the added environment variable.
I also uninstalled DaemonTools (cos i thought it may be conflicting).
Im running Windows Vista 32bit and have always downloaded relevant installs for that system.
My problem is the VMware Player installer isn't doing anything. I launch it and it seems to hang straight away see pic
Am i missing something here?
Vmware page also suggests a virtual appliance (for cloud stuff) which i dont know much about yet. And i think that appliance is installed via the player else an image loader like Daemon Tools. Do i need this appliance first?
Why is the player not installing?
Ive tried both 3.14 and 3.13 build with same result?
I have about 4 gig of space left on my hd and have 3gig of ram.
I have looked at the programs installed on my computer and cant seem to find anything else that might conflict (but i am a n00b) and i also tried pausing my kapersky pure protection. Any help is severely appreciated, thanks.
As I recall there were a couple of conflicts with vmware
A quick look through the vmware forums I see:
visualsvn
virtualPC (no surprise)
nvidia 270.18 beta driver
avg
I also remember there being talk on the forums about a specific executable name which caused issues, but Im struggling to remember what it was.
start regedit.exe
Browse to the following sub-key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\
You should see keys named 0, 1, 2, 3 and 4. In my case I had a folder named "L" before the 0.
Remove the key with "L" (actually it is "└", unicode #2514)
P.S. This is due to Microsoft screws up the registry Internet Zone settings in the registry. With the "└" key, it cause Javascript not to be called from an application.
Got it from here.

Using GNU Readline; how can I add ncurses in the same program?

The title is a bit more specific than my actual goal:
I have a command-line program which uses GNU Readline, primarily for command history (i.e. retrieving previous commands using up-arrow) and some other niceties. Right now the program's output appears interspersed with the user's input, which sometimes is OK but the output is asynchronous (it comes via a network connection in response to the input commands), and that gets annoying sometimes (e.g. if lines are output when the user is typing new input).
I'd like to add a feature to this program: a separate "window" for the output. I thought about using ncurses for this. But it appears from the ncurses FAQ that the two libraries are not easy to use together.
I might consider using Editline or tecla instead of Readline, but it's not clear to me if either of those will solve my problem. I'd also consider using something other than ncurses, including a library which provides both kinds of functionality (text-mode windows and command history), but I don't know what might be best.
Oh, and support for colored text might get bonus points. I suspect I may be able to do that with Readline, so maybe it's a separate concern, but if a solution to my problem also makes it easy to add a bit of color to the output, so much the better.
I'm using Ubuntu Hardy (Linux 2.6).
I've now put together a simple example program on GitHub: https://github.com/ulfalizer/readline-and-ncurses.
It supports seamless and efficient terminal resizing and multibyte/combining/wide characters. The code has helpful comments.
Screenshot below:
I have done some searching, and it seems like you are out of luck.
For ncurses alternatives there are SLang, Newt and Turbo
Vision. Slang is much more than just screen handling and thus more
complex, but maybe it can be used for your purpose?. Newt uses the screen
handling and is much simpler, but too simple and single-threaded-mode
for your purpose I think.
Turbo vision is the text mode graphics library from Borland, used by
all their tools in the late 80s/early 90s. Borland released the source
code when the market for that kind of thing diminished, and there is
now a port for linux (side note, this project seems to have written
its own turbo vision implementation). That port is not dead (there have
been some cvs updates this year which compiled fine (the older releases
did not)), but none of the TV examples I found were up to date and I
did only got a few of them to compile before giving up on the rest.
This is a bit of a shame, because TV was a lovely environment to use.
TV is btw C++ (and I assume you are using C?).
For an alternative to readline, there is libkinput, which maybe works
together with ncurses (it says it can use ncurses' terminfo. but I am
not sure if that means that it can co-exists together with ncurses usage)?
Maybe one option is to run readline "externally" to your ncurses program
using rlwrap?
This had me banging my head for a few hours, so just to save people Googling some pain:
If you're using ncurses' builtin SIGWINCH handler with KEY_RESIZE, be aware that readline sets the LINES and COLUMNS environment variables by default. These override any dynamic size calculation (usually with ioctl() TIOCGWINSZ) that ncurses would otherwise do, meaning you'll keep getting the initial terminal size even after resizing the terminal.
This can be prevented by setting rl_change_environment to 0 before initializing readline.
Update:
Here's some additional information I gleaned from the readline sources:
readline's SIGWINCH handling code (which is used if rl_catch_sigwinch is 1) does update LINES and COLUMNS, which seems like it should be sufficient for ncurses. However, when using the alternate readline interface (which makes most sense when combining readline with ncurses), the signal handlers (including the one for SIGWINCH) will only be installed for the duration of each rl_callback_read_char() call, meaning any terminal resize between two calls to rl_callback_read_char() will not be seen by readline.
So it turns out that gdb uses both readline and ncurses. If you're interested in doing this, I recommend that you check out their implementation: http://sourceware.org/git/?p=gdb.git;a=blob;f=gdb/tui/tui-io.c
I've achieved what you've described in a program of mine:
http://dpc.ucore.info/lab:xmppconsole
The following is the file handling io:
http://github.com/dpc/xmppconsole/blob/master/src/io.c
I'm not sure which version you tried. As of today(2012.09.14) It is very simple, We just need to hook our custom function to following function pointers.
rl_getch_function
rl_redisplay_function
rl_completion_display_matches_hook
I did something reasonable here.

Resources