Lenovo’s “How to Install Open Source Code (OSC) Application on Lenovo Think System Servers” video provides step-by step instructions for installing ThinkSystem OSC solution. See the full instructions on the Lenovo Management.
The Lenovo ThinkPad P50 20EN0013US 15.6″ Laptop Computer Refurbished is a versatile mobile workstation that features an Intel Xeon E3-1505M 2.8 GHz Quad-core processor, 8GB of ram, and a 512GB Solid State hard drive. This portable laptop has a memory card reader, and HDDs Super Multi format DVD Re/RW Optical drive. The ThinkPad also houses Bluetooth 4.1 and HDMI technology so you can stream video from your laptop to a larger display.
Checking Out a Project
Once you have an account you can dive straight into an open source application found on GitHub. Here you can see the application’s project page, including folders and files pertaining to the application, a network graph, a list of pull requests, open issues, a wiki, and other graphs. Obviously, if you want to see the code within the files, you should click on them and you’ll be presented with the full source code. As far as interpreting the code goes, you’ll need to have some background in the programming language that the application is written in, whether it be Java, C++, Python, or something else. For those wondering, the screenshot shows Caleb Evan’s jcanvas project.
Not every older or (new) device may be getting Android 11, but LineageOS, which is based on that latest version of the Android Open Source Project (AOSP), offers a nontraditional upgrade path. For those who may not be aware, LineageOS began as a forked version of the now-defunct CyanogenMod, but it has since taken over the helm of the open-source mobile OS movement.
How does LineageOS differ from the version of Android you find on a typical out-of-the-box smartphone? For one thing, it doesn’t come with any Google Apps or services installed (including the Google Play Store). You can still install these Google services on LineageOS while you install the operating system, but you can stick with the preinstalled open-source alternatives, too.
Another difference stems from the fact that Google’s (and every other manufacturer’s) version of Android is very different from the AOSP version. LineageOS has added modern conveniences and security features to its OS to differentiate it and close the gaps between the AOSP and highly tuned versions of Android. In use, LineageOS just looks like another version of Android. That’s a high compliment, given that some of the other entries in this list struggle in the UI and UX departments. It’s clean and sleek, and it appears to be one of the most stable alternative mobile OSes.
Another major advantage of LineageOS over many of these other alternatives is the sheer number of devices it supports. If you head to LineageOS’s downloads page, you will find a list of devices from roughly two dozen manufacturers. For each device, there is a nightly build, a recovery build, and a link to recent changes. There’s also documentation for installing LineageOS on your hardware.
For some people, LineageOS isn’t even far enough away from the grasp of Google. Enter ReplicantOS, a Free Software Foundation (FSF)-backed OS based on the LineageOS source code. Per its site, Replicant “does not include any of LineageOS’s proprietary components (programs, libraries, or firmware) and instead provides free software replacements for some of these.” It aims to rebuild Android completely with free software. However, at the time of writing, it supports only a handful of devices, most of which are older Samsung handsets
/e/ is based on LineageOS and so shares that operating system’s roots with open-source Android, so it’s just a small adjustment for long-time Android users. What’s missing are the built-in apps and services from Google, which are convenient, but are always after your personal data. Notably, /e/ cloud apps seek to duplicate much of the Google suite, including file storage, email, contacts, notes, photo storage, and more besides. /e/ also includes an app store, primarily powered by the open-source FDroid app store. You won’t find every app from Android on here, but it’s a useful and privacy-centric start.
The foundation behind /e/ provides extensive documentation on how to install the OS onto your device. A handy chart details all of the 112 devices it officially supports. The list is mostly made up of older devices, but if you really love your Galaxy Note 2, /e/ might be perfect.
Back in 2019, our colleague Sascha Segan gave /e/ a spin and was impressed with what he found. But even for a seasoned professional, loading /e/ onto his device was a headache. Once that hurdle was cleared, it was mostly smooth sailing. Of note, Segan pointed out that his /e/ powered phone was receiving the latest Android security patches via over-the-air updates. He did, however, lament that truly removing Google was difficult, especially if you plan on using popular third-party apps.
Alternatively, you can purchase a phone from /e/ preloaded with its operating system. The store offers refurbished Samsung Galaxy S8, S9, and S9+ models, as well as new GS290 devices. Especially notable are the Fairphone 3 and 3+ devices with /e/. These phones are built with a focus on ethics and repairability. Fairphone sells a variety of replacement components and works to pay fair wages for all the components in its devices. Unfortunately, US support for the Fairphone remains iffy.
Installing Howdy on other Linux distributions
Fedora users have the option to use COPR repository:
sudo dnf copr enable luya/howdy sudo dnf install howdy
openSUSE users can find the installation instructions here.
As the last resort, you can get the source code on its GitHub repository.
Since I am using Ubuntu 20.04 in this tutorial, some steps may use apt command but I believe you can use your distribution’s package manager in those steps.
Setting up face unlock on Ubuntu and other Linux with Howdy
Let’s see how to set it up for facial recognition.
Change config file
Before you use Howdy, you should change the configuration file to specify your webcam device.
On most Linux systems, /dev/video0 should be the device for webcam but you should make sure of it using v4l2-ctl command.
Install v4l-utils first:
sudo apt install v4l-utils
Now use the v4l2-ctl command to list your devices
[email protected]:~$ v4l2-ctl --list-devices Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5): /dev/video0 /dev/video1
Why two (or more) video devices? You’ll have to check the capabilities of the device. The device should have Video Capture capability, not just Metadata Capture.
You can check it with a command like v4l2-ctl –device=/dev/video0 –all and then look under the capability section. Most of the time, it should be the first device i.e. /dev/video0.
Now, you need to set the device path in the Howdy config. You can do that by manually opening the /lib/security/howdy/config.ini file for editing or use the command below to open the config file for edit in your default terminal-based text editor:
sudo howdy config
Look for the line starting with device_path. Change its value to /dev/video0 or whatever is the path for your webcam device.
Save and exit the file. You are ready to go now.
Forking a Project
Editing the code requires some additional steps. If you wish to copy the code without officially forking it on GitHub, you’ll need to download the project’s files and then edit them locally on your computer. However, if you’re truly looking at using the currently available source and creating your own project with it and going in your own direction, you’ll want to fork it. Forking can be accomplished with an account, and by clicking on “Fork” on the project’s page as shown in the screenshot. The next few instructions are for Linux users who should install the G
package for their respective distribution.
If you wish to retrieve the repository’s files to your computer, you’ll need to run the command
git clone https://github.com/username/project_name.git
, replacing username with your GitHub username and project_name with the name of the application project that you just forked. Run this command within a folder that should contain all of your GitHub projects, as each git clone command will create a new folder within the one you’re currently residing. This is another way of downloading a project’s file as it doesn’t require login credentials. Now you can change the files as you please using any text editor or IDE. For Linux users, I’d recommend Eclipse or Geany as they’re great programming editors — Eclipse being more full-featured and Geany being leaner. Windows users can also use the native GitHub client.
There was a beautiful, brief period in the mid 2000s where every organization was developing its own mobile platforms. Mozilla rolled out Firefox OS in 2012 and Canonical, the organization behind Ubuntu, announced Ubuntu Touch in late 2011. Like so many others, these projects would eventually be abandoned, but Ubuntu Touch lives on as a project under the guidance of the community-powered UBPorts.
Compared to mainstream mobile operating systems, Ubuntu Touch has a wholly unique navigation scheme and design language that is similar to modern smartphones, but very different. This may be because Ubuntu Touch is rooted in desktop Linux, not Android. Once you’ve learned its quirks, it’s a powerful system that’s surprisingly polished.
It’s also more than just a phone; plug an Ubuntu Touch device into an external monitor and it will function as a desktop computer. The OS includes some essential preloaded apps and an extensive app store. As with most alternate OSes, finding popular apps, or at the very least approximations, is a challenge. Because this is Linux, you will find a fully functional Terminal command-line application.
Perhaps the best thing about Ubuntu Touch is that it’s ridiculously easy to install on your device. Unlike Lineage or /e/, there’s no mucking around with arcane tools. Download the installer, plug in your phone, and that’s it. You’ll have it installed so fast you won’t know what to do with the rest of your day. About 52 devices are currently supported at varying levels of completeness. We used a Nexus 5 in our dabbling with Ubuntu Touch.
This article outlines how to install open source code on supported Lenovo products. It also contains troubleshooting information and maintenance instructions.