Screenly OSE do not display after installation

We installed Screenly OSE by entering comand
 "bash <(curl -sL https://www.screenly.io/install-ose.sh)"
As requested, I rebooted the Raspberry Pi. But Screenly OSE do not display
Please refer to Installation result as follows.
----------------------------------------------------------------------------------------------------------------------
       _____                           __         ____  _____ ______
      / ___/_____________  ___  ____  / /_  __   / __ \/ ___// ____/
      \__ \/ ___/ ___/ _ \/ _ \/ __ \/ / / / /  / / / /\__ \/ __/
     ___/ / /__/ /  /  __/  __/ / / / / /_/ /  / /_/ /___/ / /___
    /____/\___/_/   \___/\___/_/ /_/_/\__, /   \____//____/_____/
                                     /____/
Screenly OSE requires a dedicated Raspberry Pi / SD card.
You will not be able to use the regular desktop environment once installed.

Do you still want to continue? (y/N)
Do you want Screenly OSE to manage your network? This is recommended for most users because this adds features to manage your network. (Y/n)

Would you like to perform a full system upgrade as well? (y/N)
+ REPOSITORY=https://github.com/screenly/screenly-ose.git
+ sudo mkdir -p /etc/ansible
+ echo -e '[local]\nlocalhost ansible_connection=local'
+ sudo tee /etc/ansible/hosts
+ '[' '!' -f /etc/locale.gen ']'
+ sudo sed -i s/apt.screenlyapp.com/archive.raspbian.org/g /etc/apt/sources.list
+ sudo apt update -y
Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease                                
Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease                             
Reading package lists... Done                                           
Building dependency tree... Done
Reading state information... Done
99 packages can be upgraded. Run 'apt list --upgradable' to see them.
+ sudo apt-get install -y --no-install-recommends git libffi-dev libssl-dev python3 python3-dev python3-pip whois
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.30.2-1).
libffi-dev is already the newest version (3.3-6).
python3 is already the newest version (3.9.2-3).
python3-dev is already the newest version (3.9.2-3).
whois is already the newest version (5.5.10).
libssl-dev is already the newest version (1.1.1n-0+deb11u3+rpt1).
python3-pip is already the newest version (20.3.4-4+rpt1+deb11u1).
0 upgraded, 0 newly installed, 0 to remove and 99 not upgraded.
+ '[' Y == y ']'
+ export MANAGE_NETWORK=false
+ MANAGE_NETWORK=false
+ '[' master = master ']'
++ curl -s https://raw.githubusercontent.com/Screenly/screenly-ose/master/requirements/requirements.host.txt
++ grep ansible
+ ANSIBLE_VERSION=ansible-core==2.12
+ sudo pip install cryptography==38.0.2
Traceback (most recent call last):
  File "/usr/bin/pip", line 33, in <module>
    sys.exit(load_entry_point('pip==20.3.4', 'console_scripts', 'pip')())
  File "/usr/bin/pip", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
    from pip._vendor.packaging.utils import canonicalize_name
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 94, in <module>
    vendored("requests.packages.urllib3.contrib.pyopenssl")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/share/python-wheels/urllib3-1.26.5-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 50, in <module>
  File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1556, in <module>
    class X509StoreFlags(object):
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1577, in X509StoreFlags
    CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
+ sudo pip install ansible-core==2.12
Traceback (most recent call last):
  File "/usr/bin/pip", line 33, in <module>
    sys.exit(load_entry_point('pip==20.3.4', 'console_scripts', 'pip')())
  File "/usr/bin/pip", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
    from pip._vendor.packaging.utils import canonicalize_name
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 94, in <module>
    vendored("requests.packages.urllib3.contrib.pyopenssl")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/share/python-wheels/urllib3-1.26.5-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 50, in <module>
  File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1556, in <module>
    class X509StoreFlags(object):
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1577, in X509StoreFlags
    CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
+ sudo -u pi ansible localhost -m git -a 'repo=https://github.com/screenly/screenly-ose.git dest=/home/pi/screenly version=master force=no'
sudo: ansible: command not found
+ cd /home/pi/screenly/ansible
/dev/fd/63: line 187: cd: /home/pi/screenly/ansible: No such file or directory
+ sudo -E ansible-playbook site.yml
sudo: ansible-playbook: command not found
+ /home/pi/screenly/bin/upgrade_containers.sh
/dev/fd/63: line 192: /home/pi/screenly/bin/upgrade_containers.sh: No such file or directory
+ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
+ sudo apt-get clean
+ sudo docker system prune -f
sudo: docker: command not found
+ sudo apt autoremove -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 99 not upgraded.
+ sudo apt-get install plymouth --reinstall -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 99 not upgraded.
Need to get 125 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf plymouth armhf 0.9.5-3+rpt2 [125 kB]
Fetched 125 kB in 8s (15.5 kB/s)                                 
(Reading database ... 109339 files and directories currently installed.)
Preparing to unpack .../plymouth_0.9.5-3+rpt2_armhf.deb ...
Unpacking plymouth (0.9.5-3+rpt2) over (0.9.5-3+rpt2) ...
Setting up plymouth (0.9.5-3+rpt2) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for initramfs-tools (0.140) ...
+ sudo find /usr/share/doc -depth -type f '!' -name copyright -delete
+ sudo find /usr/share/doc -empty -delete
+ sudo rm -rf /usr/share/man /usr/share/groff '/usr/share/info/*' /usr/share/lintian /usr/share/linda /var/cache/man
+ sudo find /usr/share/locale -type f '!' -name en '!' -name 'de*' '!' -name 'es*' '!' -name 'ja*' '!' -name 'fr*' '!' -name 'zh*' -delete
+ sudo find /usr/share/locale -mindepth 1 -maxdepth 1 '!' -name 'en*' '!' -name 'de*' '!' -name 'es*' '!' -name 'ja*' '!' -name 'fr*' '!' -name 'zh*' '!' -name locale.alias -exec rm -r '{}' ';'
+ sudo chown -R pi:pi /home/pi
+ '[' '!' -f /etc/sudoers.d/010_pi-nopasswd ']'
+ check_defaultpw
+ '[' master = master ']'
+ '[' false = false ']'
+ set +x
Wrong salt length: 3 bytes when 8 <= n <= 16 expected.
The default raspberry pi password was not detected, continuing with installation...
++ git rev-parse --abbrev-ref HEAD
fatal: not a git repository (or any of the parent directories): .git
++ git rev-parse --short HEAD
fatal: not a git repository (or any of the parent directories): .git
++ lsb_release -a
No LSB modules are available.
+ echo -e 'Screenly version: @\nDistributor ID:	Raspbian
Description:	Raspbian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye'
+ '[' false = false ']'
+ set +x
Installation completed.
You need to reboot the system for the installation to complete. Would you like to reboot now? (y/N)


Sorry let me rewrite this, can you pls install 64 bit RaspiOS bullseye lite:

https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64-lite.img.xz

Then run the bash install again.

After a fresh install of a “Bullseye-lite” (image from the official page, see link above provided by ealmonte32) on a RPi4, and after an install of Screenly/Anthias, with system update, I get, in journalctl those errors :

screenly-host-agent.service: Failed to determine user credentials: No such process screenly-host-agent.service: Failed at step USER spawning /usr/bin/python3: No such process

I have no splash screen, no assets display but I can connect to the web management page.
Please help.

Edit : 2022-12-08 @15:00 CET
I tried with Buster “Legacy” or Bullseye 32bits version : same problem
At the time I have no functionnal installation.

The probelm is solved by installing Raspberry Pi bullseye lite 64bit.
Thank you for advise to solve problem.
Please close this inquiry

Sorry but no … the problem is not solved.

My board, RPi4b (cat /proc/cpuinfo):


Hardware        : BCM2835
Revision        : b03115
Serial          : XXXXXXXXXXXXXXXX
Model           : Raspberry Pi 4 Model B Rev 1.5

Fresh install of RaspiOS Bullseye-lite 64bits


pi@raspberrypi:~ $ date -u
Fri  9 Dec 07:59:22 UTC 2022
pi@raspberrypi:~ $ sudo apt-get update
Hit:1 http://deb.debian.org/debian bullseye InRelease
Hit:2 http://security.debian.org/debian-security bullseye-security InRelease
Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
Hit:4 http://deb.debian.org/debian bullseye-updates InRelease
Reading package lists... Done
pi@raspberrypi:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ cat /proc/version 
Linux version 5.15.76-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.15.76-v8+ #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022 aarch64 GNU/Linux
pi@raspberrypi:~ $

Then install of Screenly OSE / Anthias:


bash <(curl -sL https://install-ose.srly.io)

Reboot: no splash screen, no assets displays.
Tail of the journalctl:

pi@raspberrypi:~ $ sudo journalctl

Dec 09 08:15:11 raspberrypi systemd[1]: screenly-host-agent.service: Main process exited, code=exited, status=217/USER
Dec 09 08:15:11 raspberrypi systemd[1]: screenly-host-agent.service: Failed with result 'exit-code'.
Dec 09 08:15:12 raspberrypi sudo[3848]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/journalctl
Dec 09 08:15:12 raspberrypi sudo[3848]: pam_unix(sudo:session): session opened for user root(uid=0) by pi(uid=1000)
Dec 09 08:15:22 raspberrypi systemd[1]: screenly-host-agent.service: Scheduled restart job, restart counter is at 10.
Dec 09 08:15:22 raspberrypi systemd[1]: Stopped Screenly Host Agent.
Dec 09 08:15:22 raspberrypi systemd[1]: Started Screenly Host Agent.
Dec 09 08:15:22 raspberrypi systemd[3851]: screenly-host-agent.service: Failed to determine user credentials: No such process
Dec 09 08:15:22 raspberrypi systemd[3851]: screenly-host-agent.service: Failed at step USER spawning /usr/bin/python3: No such proc>
Dec 09 08:15:22 raspberrypi systemd[1]: screenly-host-agent.service: Main process exited, code=exited, status=217/USER
Dec 09 08:15:22 raspberrypi systemd[1]: screenly-host-agent.service: Failed with result 'exit-code'.

I have the same issue.
Tried all with Legacy 32 bit - 64 bit, current 32 bit - 64 bit, even with Anthias GitHub (GitHub - Screenly/Anthias: The world's most popular open source digital signage project.)
Trying with Balena version…

@rand @kinhadthu

The issue with the screenly-host-agent.service file is that I thought systemd would allow for variables in the file name, thus if the file contains ${USER} on it, which is supposed to expand to the current user, then it would work, but systemd version in Buster does not allow this, and since the PR for fixing this on Buster is not ready yet because it requires some regex stuff done to the file and ansible, it is just much easier to edit the file yourself if you are on Buster.

sudo nano /etc/systemd/system/screenly-host-agent.service and find anywhere that it says ${USER} and replace that entire part with your username of the pi user, then reboot and it should work.

You said you tried “current 64 bit”, what version is that, please show me a uname -a and lsb_release -a result because this has all been tested on bullseye 64 bit and works correctly…

Hi @ealmonte32

Thank your for your advice.
I changed every entry of ${USER} in the service definition file.
I then no longer get the ‘failed’ service entry in journalctl, but I still get a blank (black) screen at reboot.

Funny thing, the ‘Anthias, by Screenly’ splash screen appears few seconds every time I reboot the board from a ssh console, the board reboot and … you guess: blank (black) screen again.
The splash screen does not appear when I shutdown the board, only when I reboot it.

What can I do/test now?

Thanks for responding.
But as rand said, I also get tee “blank screen” - not totally black, but no splash screen showing IP address of the Pi like few months ago. I tried to update and upgrade in the 32-bit version (Debian 10, buster) but still can not see anything in “/etc/systemd/system/screenly-host-agent.service”

I managed to bring it on if I use the pre-built image from here: Releases ¡ Screenly/Anthias ¡ GitHub
(But after imaging, people should plug in the Internet and turn on the Pi and wait for 10-20 mins for it to be automatically loaded)

I’n trying with latest 64-bit image, hope that it has the “screenly-host-agent.service” file

@rand

what is the outcome of sudo docker ps

If that doesnt show any containers running, then run the following command:
./screenly/bin/upgrade_containers.sh

then after that is done run the sudo docker ps again, the black screen must be that the containers are not running…

@kinhadthu
The Buster OS is not fully working right now, there are some changes with the pip and python that this is why I recommend downloading the latest Raspbian OS Bullseye Lite image, freshly installing that, then running the bash command to install.
After you do this and if still having black screen, then we can troubleshoot further.

1 Like

Hi @ealmonte32

Thank, you sir!

sudo docker ps showed running containers, nothing weird there.
Nevertheless I called a ./screenly/bin/upgrade_containers.sh.

For your information, during installation, I get this message

+ sudo -u pi ansible localhost -m git -a 'repo=https://github.com/screenly/screenly-ose.git dest=/home/pi/screenly version=master force=no'
localhost | FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "cmd": [
        "/usr/bin/git",
        "fetch",
        "--tags",
        "origin"
    ],
    "msg": "Failed to download remote objects and refs:  From https://github.com/screenly/screenly-ose\n   8833ef8..ed7a7e7  master     -> origin/master\n   ac47184..9251028  rpi-imager -> origin/rpi-imager\n ! [rejected]        v0.18.5    -> v0.18.5  (would clobber existing tag)\n"
}
+ cd /home/pi/screenly/ansible
+ sudo -E -u pi ansible-playbook site.yml

PLAY [Install Screenly] ***********************************

At the end of the installation and before the reboot, I get a splash screen.
I rebooted and bingo ! I get a splash screen and I a able to manage and display assets.

Thank you again for your help.

1 Like

@ealmonte32 Thanks for your suggestions.
Hello everyone who’s reading this topic and trying to find a solution :smiley:
In some forums you may see some guides to use “sudo su” command to gain root priviledge, but hey, don’t use it before running bash command. It will not create enough screenly folders for the “pi” user (/home/pi/screenly) which makes further steps to fail.

You can use these commands for Bullseye 22-Sep-2022 lite version (Don’t use Legacy - Buster version yet)

  1. sudo apt update
  2. sudo apt upgrade -y

<!> In case you encounter “Unable to fetch some archives” error after update/upgrade command, run:

sudo apt update --fix-missing
sudo apt upgrade -y

  1. bash <(curl -sL https://install-ose.srly.io)

----- Continue: y
----- Manage network: y/N depends
----- Full system upgrade: N
----- Reboot: y

In case after rebooting you do not see the Splash Screen, log in as pi and run this command

./screenly/bin/upgrade_containers.sh

or run the bash command again

bash <(curl -sL https://install-ose.srly.io)

Make sure you see tons of files “Pulling” from servers.

Good luck!