I'm using MATLAB on windows to programmatically control another application called CST. I do this via the actxserver command which uses COM technology. I'm trying to do the same thing on a Linux cluster but I failed (despite having both MATLAB and CST installed there). I just learned that COM is unique to Windows. Is there an alternative for that on Linux?
Related
I have C applications that have been running on HP-UX B.11 and Informix Dynamic Server Version 7.31.UD1 for years. I have migrated the database to the earliest Informix (V.14.2) on CentOS 7.
What are the best tools I need to use so I can continue to run the programs on Unix and access the Informix database on Linux?
It isn't clear whether you are seeking to run programs on the HP-UX box and connect to the database server on the Linux box, or whether you are seeking to migrate the programs from the HP-UX box to the Linux box.
Running the programs on HP-UX still
As long as you can change the setting of the $INFORMIXSERVER environment variable and modify the $INFORMIXSQLHOSTS file (usually $INFORMIXDIR/etc/sqlhosts) to point to the new server on the Linux machine, the tools running on HP-UX box will continue to work — you don't need to install anything new there. If any of the tools have been hardwired with connection information, you may have to work a bit harder, but it should still be doable. You might have to set up a server alias for the new server that matches what was used on the HP-UX box
Any programs trying to run the server administration tools (oncheck, ontape, onparams, onspaces, onstat, etc.) will need to be run on the Linux server machine.
Running the programs on Linux instead
You will need to port the code for the existing applications from HP-UX to Linux. That means recompiling unless the programs are all Java. You need to know what APIs are in use — the process may be more contorted for ODBC than for ESQL/C, or vice versa (it depends on how well written the programs are).
If you use Java, then you'll need Informix JDBC and at least the JRE (you'll need the JDK if you need to compile the Java programs again). If you use ODBC or ESQL/C, you'll need the Informix ClientSDK, a C compiler and the general development tools (make, etc). If you use I4GL, you'll need Informix 4GL on the Linux platform too.
I would like to view, from Oracle Forms, a linux file
using the "tail" command.
I need to monitor and display the new events and information
in a system log in real time, opening it - for example - in
an editor of Oracle Forms.
It depends on Oracle Forms version.
if it is 6i or lower (read: client-server architecture), you'd use host built-in to run operating system commands
if it is 9i or higher (read: applications are deployed on web), you'd need to install webutil and use client_host
However, why do you involve Oracle (a relational database management system) into something related to operating system? Can't you use a more appropriate tool for that?
Is there any software working like this?
Runs as a standalone program. No install is needed. Thus, can be used as an Ansible module.
After running the program in a remote Linux machine, I can open up a web browser, then open a web page provided by the program. The program provides features similar to file explorer, IDE-level code editor, debugger, etc. In terms of debugger, there is already similar one; gdbgui.
There is another way such as Gnome, KDE or X11. However, these requires much packages to be installed. I don't want they be installed, because my Linux machines are kept to be small and secure.
You might consider having some terminal emulator running inside a browser. Such things exist, e.g. libonion has oterm as an example application. Then you can do all the things that a command line interface thru a unix shell provides (of course, you won't be able to run GUI applications, e.g. X11 clients such as GTK or Qt applications).
You could also consider some webmin like stuff.
Notice that you don't need to have a desktop environment on a remote Linux machine. Most of them (e.g. internet servers) have only command line interface.
Learn more about X11: you could have an X11 server on your laptop (e.g. under Windows if so needed) and run remotely X11 clients (that is GUI applications) with ssh -X on your remote Linux system.
However, these requires much packages to be installed. I don't want they be installed, because my Linux machines are kept to be small and secure.
I don't understand that requirement. On my VPS, running in some OVH datacenter, I do have X11 client applications (notably emacs). I don't believe that lowers the security of my system, and the disk space consumption for X11 applications and libraries is small enough these days. And of course I use standard commands (like cp(1), mv(1), rm(1), grep(1), find(1), less(1), file(1), sed(1) ....) to manage files. Any graphical file manager is useless (and I never use them, while using Unix since 1986)
You really should learn how to use the command line on Linux. It is incredibly powerful.
I was wondering around Internet for proper article regarding how to develop a good UI app for QNX . I was able to find things like -
We can use jamaicaVM to port our code developed on java to c .
Following are my questions :
On what platform should i develop the app for QNX .
The app should have proper UI.
This might even help other developer .
You must setup two computers.
One computer so called target machine. In this machine you must install operation system Qnx (qnx microkernel, device drivers, filesystems, libraries and etc). Must important think in this machine is qconn . It is daemon that support network connection with the instrumental machine (please, see 2 item).
Second computer so called instrumental machine . In this machine you must install IDE Qnx Momentics. It is Eclipse based enviroment with gcc, gdb, make and etc. In this computer You will write programms in C or C++ then compile and invoke.
Please, see this http://www.qnx.com/developers/docs/6.4.1/momentics/quickstart/about.html.
Instrumental machine would have any OS with java machine because QNX Momentics is Eclipse based Intergrated Development Enviroment.
I want to be able to distribute a Linux running inside my application. The reason is that I need to add software functionality which is most easily added inside a Linux container and distributed with the application.
Is there any way to run a VM inside a C/C++ application on Windows, OSX, Linux?
VirtualBox has an API for creating/running VMs. The program Vagrant uses this to give developers a simple cross-platform way to develop. You can run vagrant up from Windows, Linux or Windows, and it does the same thing.
You can also script adding ports to your VM, so your C++ program could say "VirtualBox, boot me this image", then just connect to a TCP port to talk to the "Linux program". But debugging problems will be hard.
But if your goal is to sell a Linux program to non-Linux desktop people, it's probably best for you and your sanity to bite the bullet and port it to Windows/Mac. (Or go Cloud and sell it as a service.)
Two frameworks come to mind:
User mode Linux runs the Linux kernel as an application. This give you ultimate control over launching and managing the virtual machine from within a Linux application.
libvirt provides a toolkit for programmatically managing all manner of virtual machines.
These may both requires a Linux host. For other host operating systems, it may be necessary to manage the virtual machine manually -- or using ad hoc scripting.
QEMU can run a VM and it can be compiled on Windows and Linux and OSX. http://wiki.qemu.org/Main_Page
QEMU can be compiled as it is written in C++.
So in theory, QEMU could be embedded in a C++ program and used to run a Linux VM.
An example QEMU running Puppy Linux http://www.erikveen.dds.nl/qemupuppy/