After finding that my two oldest spare computers (old core-2 machines) were dead, I’ve loaded Linux on my workbench machine (madhatter) in the basement. The install was a bit rocky as Ubuntu 16.10 didn’t seem happy booting with the ATI video card the machine had in it. Once I switched that out for one of the old NVidia cards from one of the dead machines things progressed smoothly.
I’ve now got SSH and XRDP up and running. SSH went smoothly as expected while XRDP took a bit of configuration tweaking in order to get a real desktop on the remote session. When it first came up, every window was in the upper left corner of the screen, laid one on top of the other. After installing gnome (not sure this was required, but the web page I found called for it) and adding a ‘dot’ file specifying the desktop manager, things seem to be working.
I’ve added node.js, the compiler set for c++, mono and emacs. This should get me most of what I need at this point. The main reason for bringing this machine on line was to make sure I could run node stuff that needed Linux but I’ll be happy to have a general purpose Linux target around for various purposes.
Mod_rewrite seems to cause me no end of problems so far. I’ve got two URLs pointed at this hosting (one dormant but I’d like to keep it alive). I want apache to redirect my base url to my landing page while preserving access to the other site.
So far I’ve largely managed to either nuke my sister’s wordpress site while successfully redirecting ninecrows or take out everything with a broken rewrite configuration. I thought I had it working at one point or another but it always seems to come back to a caching issue fooling me into seeing the fix working.
Not sure when I’ll get back to this but it is a bit annoying…
Looks like the spare core-2 machine is likely down for the count. Even with the motherboard completely out of the chassis with nothing but the power supply and the power switch plugged in it seems to immediately shut down the power supply. I may give it one more shot on the possibility that it just doesn’t start properly without at least memory and video but I’m not hopeful.
I’ve started an install of Ubuntu 16.10 on ‘madhatter’ my back basement lab bench machine. This should do nicely for now. I’ll probably wind up buying some low-ish end hardware to replace the dead machine when the back lab bench area gets set up with a 3D printer. Until then this provides a decent Intel based linux machine that should meet my needs.
Once the base install is complete I need to get
- xrdp installed for easy remote UI access
- SSH installed (if not there out of the box) and configured for secure command line stuff.
- tightvnc installed mostly to see if it works better than the free version of realvnc that came pre-installed on the RPi
- samba to make files available to my windows boxes and hopefully set up for cleaner network visibility.
Hoping that this one goes smoothly. Disappointing the number of machines that have gone flaky recently.
Ubuntu install appeared to succeed. The machine was waiting at a ‘press enter to restart’ prompt when I checked on it this morning.
It is running on a WD ‘green’ drive so may be a bit slow booting. When I left it was still showing just a black screen (after dropping through a ‘how should I boot’ screen) so I’ll see tonight whether this system loaded up successfully. The machine seems ok overall as the windows 10 boot disk works fine.
I did start downloads of the Ubuntu 16 and 14 LTS releases to try tonight if the 16.10 image fails. Hoping there isn’t some incompatibility with core-2 era computers in newer Linux builds.
For work and sandbox reasons I’m back into node.js reading. I had bought a paper (used) copy ofNode.js in Practice from Amazon. I found it to be more of a cookbook and less the walk-through I currently need. I’ve since started reading Web Development with Node and Express on my Kindle and found it to be much more helpful. I expect that the other book will be more useful once I’m up to speed and looking for more focused solutions.
Node is still looking like a great solution for quick and easy web UI access to systems that support it (QNX seems like one exception…probably because of V8 support).
I’ve been doing my Linux work on either VMs or my RPi-3 lately. The node stuff is pushing me back towards getting an Intel based, free-standing Linux box online again. Last night was rather disappointing as I powered up my spare, stable old core-2 box with the intention of pulling the windows boot drive out (drive trays) and slotting in a spare drive to load Ubuntu on. The system failed to come up and then died so as to crowbar the supply. I tried a spare supply (to make sure I wasn’t having power supply issues) and got the same result.
At the moment that machine is fully torn down to the bare motherboard with CPU in and it still isn’t behaving. I’ll likely give it one more try tonight or tomorrow night (relatively low mileage motherboard so shouldn’t have problems) and see if there’s a screw causing a short or something.
If that fails, I’ll likely take the back basement work bench system (madhatter) as my linux system and plan on bringing up a relatively cheap core-i5 system when that area gets cleaned up enough to be useful. I should have a M3D Pro 3D printer coming soon from the kickstarter I funded and if this happens I’ll likely put that together in the back area with the new system hardware. Looks like motherboard, memory and CPU can be had for $300 to $400 so not too bad. Still hoping that the core-2 system can be recovered though.
For reasons I still don’t entirely understand, XRDP started working properly last night. So far it meets my needs (full screen sizes and ease of use) so I’ll likely be getting on with things and shelve the VNC issues.
I expect that there is a way to make VNC behave as 640×480 isn’t a very useful resolution. My next likely step would be to try tight VNC as the pre-installed VNC version (real?) seems to come fro a very commercially oriented site and I could readily believe that their shipping (free) version is intentionally crippled. This is further suggested as open source clients don’t seem to be compatible with the real VNC server (no compatible security contexts).
Looks like that is the case. The realvnc FAQ shows that adjustable screen sizes for headless systems are only available on their enterprise subscription version. I’ll have to find out how to disable their version and replace it with a real open source version sometime soon.
I’ve been trying to get my pi-3 setup so that I can run it headless and still fully control it. I’ve found that the pi support node with opens up many possibilities for using it for prototyping work.
After moving it off the guest WiFi (easy oops but no in-house access) and making sure it has a valid IPv4 address I had to find the default username and password (pi and raspberry). Changed the password but I’m not yet ready to add an account (sudoers list and other such isn’t something I want to struggle with at the moment).
Enabled SSH and that seems to be working normally now. I used the text GUI to get this working. I still need to generate a key pair and load the public key onto the pi for convenience.
I’m still working on getting desktop access up and running. I enabled the default VNC server that comes with the pi (realvnc I think). I can connect using the realvnc viewer. So far if I have a display connected this works reasonably. If I run headless then the screen size defaults to 640×480 which is effectively unusable.
I’ve seen suggestions of using the xrandr command on the target. That runs but the only resolution that is supported seems to be 640×480.
I’ve been trying to install tighvnc instead but have been getting fetch errors. Not sure whether I need to add repositories or tightvnc may not be supported on the ARM. We’ll see…
I went looking for up to date, self-hosted HTTP support for .NET code and it took me (after a few digressions into older solutions) to Owin which I had, curiously enough, run into by name elsewhere recently. It looks like a decent solution with katana as the project name for the open source Microsoft implementation.
The TLS support is a bit odd at first look as it doesn’t seem to directly involve the code as seen here and here . It looks as if the TLS overlay is provided outbound from the hosting application. I’ll have to look into the details later but I expect that this will be more than adequate for my purposes.
I suspect I’ll wind up creating my own local trusted root cert and installing it on my home machines. That should allow me to generate valid-ish TLS certs for local testing that look like the real thing. I’d rather have TLS on the RESTful connections as I’d much rather build this as if it were a real thing that would need to survive in the wild.
More stuff to play with as I move this forward. I’m expecting to build the machinery in one or more assemblies and then bolt them into appropriate host frames for execution. This should allow me to test as local code but then run that same code as a service once it is tested and ready.
My copy of Angular 2 Development with Typescript came in from Amazon. It is looking as if my user interface to the file manager may very well use a web interface. Angular 2 seems like a popular choice for that and I have work reasons for familiarizing myself with Angular.
I was thinking of either going with a web interface or with a UI tool that used WPF. Given that this is a sandbox project and the popularity of web based UI these days, I’m expecting that web will win.
I’m thinking of running the main scanner piece as a service under windows, talking to the MySQL database back-end. This suggests that I need to figure out how to expose RESTful API functions from a .NET service and then how I want to implement the UI front end.
Node seems like an interesting possibility. Let the node server talk to the RESTful interfaces and then present an Angular 2 based UI on the other end. I’d expect ASP.NET to be another possibility under windows. I’m inclined towards node (at least as a first pass) because it is more portable and would seem to have wider applicability in the embedded space where I play these days. Lots left to figure out here.
I do need to put the rubber to the road this weekend and get the create table statements for my database sketched out and executed. Can’t really start coding until there’s somewhere for the results to go. Most of the heavy lifting is done on that front…just need to type out the SQL and feed it to the DB server (and then hash out any mistakes made along the way).