123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #!/bin/sh
- # Chromium launcher
- # Authors:
- # Fabien Tassin <fta@sofaraway.org>
- # License: GPLv2 or later
- APPNAME=chromium
- LIBDIR=/usr/lib/chromium
- GDB=/usr/bin/gdb
- usage () {
- echo "$APPNAME [-h|--help] [-g|--debug] [options] [URL]"
- echo
- echo " -g or --debug Start within $GDB"
- echo " -h or --help This help screen"
- }
- # FFmpeg needs to know where its libs are located
- if [ "Z$LD_LIBRARY_PATH" != Z ] ; then
- LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH
- else
- LD_LIBRARY_PATH=$LIBDIR
- fi
- export LD_LIBRARY_PATH
- # xdg-settings should in PATH
- PATH=$PATH:$LIBDIR
- export PATH
- want_debug=0
- while [ $# -gt 0 ]; do
- case "$1" in
- -h | --help | -help )
- usage
- exit 0 ;;
- -g | --debug )
- want_debug=1
- shift ;;
- -- ) # Stop option prcessing
- shift
- break ;;
- * )
- break ;;
- esac
- done
- # Setup the default profile if this is none
- # Set the default theme as GTK+ with system window decoration
- if [ ! -d ~/.config/chromium/Default ]; then
- mkdir -p ~/.config/chromium/Default
- cat <<EOF > ~/.config/chromium/Default/Preferences
- {
- "browser": {
- "custom_chrome_frame": true
- },
- "extensions": {
- "theme": {
- "colors": {
- },
- "id": "",
- "images": {
- },
- "properties": {
- },
- "tints": {
- },
- "use_system": true
- }
- },
- "homepage": "http://vinelinux.org/",
- "homepage_is_newtabpage": false,
- "session": {
- "restore_on_startup": 1
- },
- "webkit": {
- "webprefs": {
- "default_fixed_font_size": 13,
- "default_font_size": 16,
- "fixed_font_family": "monospace",
- "sansserif_font_family": "sans-serif",
- "serif_font_family": "serif"
- }
- }
- }
- EOF
- fi
- if [ ! -u $CHROME_SANDBOX ] ; then
- echo "The chrome_sandbox binary does not have the SETUID set.\n"
- echo "This is most likely caused by the permission state (Secure/Paranoid) of the system. Therefore running Chromium is not possible."
- fi
- # Allow users to override command-line options
- # Based on Gentoo's chromium package (and by extension, Debian's)
- if [ -f /etc/default/chromium ]; then
- . /etc/default/chromium
- fi
- # Detect if PepperFlash has been installed
- # If so, automatically enable it
- if [ -f /usr/lib/chromium/PepperFlash/libpepflashplayer.so ]; then
- PEPPER_FLASH_VERSION=$(grep '"version":' /usr/lib/chromium/PepperFlash/manifest.json| grep -Po '(?<=version": ")(?:\d|\.)*')
- PEPPERFLASH="--ppapi-flash-path=/usr/lib/chromium/PepperFlash/libpepflashplayer.so --ppapi-flash-version=$PEPPER_FLASH_VERSION"
- fi
- # Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
- # default CHROMIUM_FLAGS (from /etc/chromium/default)
- CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}
- if [ $want_debug -eq 1 ] ; then
- if [ ! -x $GDB ] ; then
- echo "Sorry, can't find usable $GDB. Please install it."
- exit 1
- fi
- tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
- trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
- echo "set args ${1+"$@"}" > $tmpfile
- echo "# Env:"
- echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
- echo "$GDB $LIBDIR/$APPNAME -x $tmpfile"
- $GDB "$LIBDIR/$APPNAME" -x $tmpfile
- exit $?
- else
- exec $LIBDIR/$APPNAME $SANDBOX ${CHROMIUM_FLAGS} ${PEPPERFLASH} "--password-store=basic" "--enable-threaded-compositing" "$@"
- fi
|