1#!/bin/sh 2 3# KEYWORD: firstboot 4# PROVIDE: ec2_desktop_extras 5# REQUIRE: ldconfig 6# BEFORE: ec2_setpass 7# BEFORE: xrdp 8 9# Forcibly enabled; this script will not be included (in fact will be 10# deleted entirely) once its functionality is included elsewhere. 11ec2_desktop_extras_enable=YES 12 13. /etc/rc.subr 14 15name="ec2_desktop_extras" 16rcvar=ec2_desktop_extras_enable 17start_cmd="ec2_desktop_extras_run" 18stop_cmd=":" 19 20ec2_desktop_extras_run() 21{ 22 23 # These should run at first boot from pkg triggers, but those 24 # aren't included in VM images yet. 25 /usr/bin/makewhatis /usr/share/man 26 /usr/bin/makewhatis /usr/share/openssl/man 27 /usr/local/bin/fc-cache -s 28 /usr/local/bin/glib-compile-schemas /usr/local/share/glib-2.0/schemas 29 /usr/local/bin/gio-querymodules /usr/local/lib/gio/modules 30 /usr/local/bin/gdk-pixbuf-query-loaders --update-cache 31 /usr/local/bin/update-desktop-database -q 32 /usr/local/bin/update-mime-database /usr/local/share/mime 33 for d in /usr/local/share/icons/*/; do 34 [ -d "$d" ] || continue 35 /usr/local/bin/gtk-update-icon-cache -q -t -f "${d%/}" 36 done 37 38 # This should from from an rc.d script in xrdp. 39 RSAKEYS=/usr/local/etc/xrdp/rsakeys.ini 40 PRIVATEKEY=/usr/local/etc/xrdp/key.pem 41 CERTIFICATE=/usr/local/etc/xrdp/cert.pem 42 # make sure rsakeys and certificates are private 43 umask 077 44 # generate rsakeys.ini 45 [ -e "$RSAKEYS" ] || /usr/local/bin/xrdp-keygen xrdp "$RSAKEYS" && \ 46 # generate self-signed certificate 47 [ -e "$PRIVATEKEY" -a -e "$CERTIFICATE" ] || \ 48 /usr/bin/openssl req \ 49 -x509 \ 50 -newkey rsa:4096 \ 51 -keyout "$PRIVATEKEY" \ 52 -sha256 \ 53 -nodes \ 54 -out "$CERTIFICATE" \ 55 -days 365 \ 56 -subj "/CN=$(hostname)" 57} 58 59load_rc_config $name 60run_rc_command "$1" 61