Difference between pages "Build Manjaro ISOs with buildiso" and "DMenu"

From Manjaro
(Difference between pages)
Jump to navigation Jump to search
imported>Excalibur1234
 
imported>Stagiros
 
Line 1: Line 1:
__TOC__
 
  
  
=Prerequisites=
+
<br />
 +
=Overview=
  
Before we began. You need Kernel linux44 or newer.
+
Sometimes for no apparent reason users face the following dmenu problem:
 +
<br />
 +
A. When calling dmenu from a key binding in their environment dmenu comes up but when they continue to select anything in dmenu, it disappears from the screen and does not execute anything.
 +
<br />
 +
B. Trying to start dmenu from the terminal, the error <pre>"warning: no locale support"</pre> appears.
  
It is recommend to download the latest version of [https://sourceforge.net/projects/manjarolinux/files/?source=navbar Manjaro Distribution].
 
  
 +
=Solution=
  
==Install manjaro-tools-iso==
+
Assuming that you have correctly set up your system's LOCALE settings, here is a simple solution to this problem:
 +
<br /><br />
 +
Edit file /usr/bin/dmenu_run
 +
<pre>sudo nano /usr/bin/dmenu_run</pre>
  
To get started you need to download the following packages.
+
Add a line setting your LANG variable tou your actual language locale:
 
+
<pre>LANG="en_GB.UTF-8"</pre>
* '''manjaro-tools-base'''
+
and save.
* '''manjaro-tools-iso'''
+
<br />
* '''manjaro-efi-shell'''
+
<br />
* '''manjaro-isolinux'''
+
!!! If you have used the MHWD utility to configure your graphics card, then there will be a file 90-mhwd.conf. For the changes you have made in file 20-keyboard.conf to work, you have to edit this file and comment out the line with the XkbOptions, in section InputClass, as below:
 
+
<pre>
 
+
Section "InputClass"
==Install manjaro-iso-profiles==
+
Identifier          "Keyboard Defaults"
 
+
MatchIsKeyboard     "yes"
You will also need to download manjaro-iso-profiles from Package Manager.
+
#Option              "XkbOptions" "terminate:ctrl_alt_bksp"
 
+
EndSection
There are three manjaro-iso-profiles packages to choose.
+
</pre>
 
 
* '''manjaro-iso-profiles-base'''
 
* '''manjaro-iso-profiles-community'''
 
* '''manjaro-iso-profiles-official'''
 
 
 
You can choose any profiles you want.
 
 
 
We're going to choose <code>manjaro-iso-profiles-official</code> along with XFCE to help you understand what you need to do.
 
 
 
We do not recommend downloading profiles from GitHub. It may not work for you while building. But, if it does work for you. That's fine.
 
 
 
=ISO profile=
 
 
 
 
 
==ISO profile overview==
 
 
 
Open Thunar Root and go to this directory.
 
 
 
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce
 
 
 
Let's take a closer look at the XFCE profile folder (marked above):
 
 
 
~ >>> ls -lAgo /usr/share/manjaro-tools/iso-profiles/manjaro/xfce
 
drwxr-xr-x 3 4096 16 feb 19:52 '''desktop-overlay'''
 
lrwxr-xr-x 1  33 16 feb 19:52 live-overlay -> ../../shared/manjaro/live-overlay
 
lrwxr-xr-x 1  28 16 feb 19:52 mkinitcpio.conf -> ../../shared/mkinitcpio.conf
 
-rw-r--r-- 1 5115 16 feb 19:52 '''Packages-Desktop'''
 
lrwxr-xr-x 1  26 16 feb 19:52 Packages-Live -> ../../shared/Packages-Live
 
lrwxr-xr-x 1  26 16 feb 19:52 Packages-Mhwd -> ../../shared/Packages-Mhwd
 
lrwxr-xr-x 1  26 16 feb 19:52 Packages-Root -> ../../shared/Packages-Root
 
-rw-r--r-- 1 2400 16 feb 19:52 '''profile.conf'''
 
 
 
* '''desktop-overlay''': After every successful installation of your ISO the files and folders in here will get copied over.
 
* ''live-overlay'': Similar to ''desktop-overlay''. Files and folders in here will only get copied over to the LiveCD of your ISO.
 
* ''mkinitcpio.conf'' holds the information of all needed kernel modules.
 
* '''Packages-Desktop''': This file contains packages for the ISO installation. All packages will also get installed on LiveCDs.
 
* ''Packages-Live'': This file contains packages, which will only get installed on the LiveCD.
 
* ''Packages-Mhwd'': This file contains Mhwd packages important to all Manjaro installations and LiveCDs.
 
* ''Packages-Root'': This file contains base packages important to all Manjaro installations and LiveCDs.
 
* '''profile.conf''' contains basic settings for your ISO installation and LiveCD.
 
 
 
As you have probably noticed, all files and folders are readonly and several are only symlinks to the <code>shared</code> ISO profile. It is good practice to never change files or folders in the <code>shared</code> ISO profile. If you ever want to change them, first copy them to your ISO profile folder and delete the symlink.
 
 
 
All folders and files specific to your ISO are '''in bold'''. You can change them to your liking.
 
 
 
==Modifying an ISO profile==
 
 
 
The most common places to tweak and customize an ISO profile are the 3 folders marked above: ''desktop-overlay'', ''profile.conf'', ''Packages-Desktop'':
 
 
 
 
 
===desktop-overlay===
 
 
 
The ''desktop-overlay'' folder looks like this:
 
 
 
~ >>> tree /usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc                                         
 
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc
 
├── fonts
 
│   └── conf.d
 
│       └── 70-no-bitmaps.conf -> /etc/fonts/conf.avail/70-no-bitmaps.conf
 
└── lightdm
 
    └── lightdm-gtk-greeter.conf
 
 
 
3 directories, 2 files
 
 
 
Go to this directory.
 
 
 
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc/
 
 
 
Then create '''skel''' folder. This is where you can clone everything you see on your Desktop Screen to ISO.
 
 
 
After the ISO has been successfully installed all files and folder in ''desktop-overlay'' folder get copied over to the installed system. This includes settings/config files but also themes and backgrounds/pictures.
 
 
 
All files and folder in here will get copied to the home folder. Most hidden files and their structure in <code>/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/</code> should be already familiar to you, because your home folder looks very similar.
 
 
 
===Clone Custom Wallpaper Desktop===
 
 
 
To clone your Custom Wallpaper Desktop. Open a New File Manager and go to this file.
 
 
 
/home/<username>/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
 
 
 
Change all image directories to where your Custom Wallpaper was located at.
 
 
 
/usr/share/backgrounds/<YOUR IMAGE HERE>
 
 
 
===Example===
 
  
<?xml version="1.0" encoding="UTF-8"?>
+
<br />
 
<channel name="xfce4-desktop" version="1.0">
 
  <property name="backdrop" type="empty">
 
    <property name="screen0" type="empty">
 
      <property name="monitor0" type="empty">
 
        <property name="image-path" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
 
        <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
 
        <property name="last-single-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
 
        <property name="image-style" type="int" value="5"/>
 
      </property>
 
      <property name="monitorVGA-0" type="empty">
 
        <property name="workspace0" type="empty">
 
          <property name="color-style" type="int" value="0"/>
 
          <property name="image-style" type="int" value="5"/>
 
          <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
 
        </property>
 
        <property name="workspace1" type="empty">
 
          <property name="color-style" type="int" value="0"/>
 
          <property name="image-style" type="int" value="5"/>
 
          <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
 
        </property>
 
      </property>
 
    </property>
 
  </property>
 
  <property name="desktop-icons" type="empty">
 
    <property name="style" type="int" value="2"/>
 
    <property name="file-icons" type="empty">
 
      <property name="show-removable" type="bool" value="true"/>
 
    </property>
 
    <property name="icon-size" type="uint" value="32"/>
 
  </property>
 
</channel>
 
 
  
Go to this directory in Thunar Root.
+
=Install & configure graphical language switcher (xxkb)=
  
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/
+
Install program xxkb
 +
<pre>sudo pacman -S xxkb</pre>
  
Then create <code>usr/share/backgrounds</code> and place your Custom Wallpaper at this directory.
+
<br />
  
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/usr/share/backgrounds/
+
Create folder in /home/jimmy/.config that will hold the language flag images used by the xxkb switcher
 +
<pre>sudo mkdir /home/jimmy/.config/xxkb</pre>
  
===profile.conf===
+
<br />
  
##########################################
+
Go to any site providing free images of country flags and download the flag images for United Kingdom and Greece.
###### use this file in the profile ######
 
##########################################
 
 
# use multilib packages; x86_64 only
 
# multilib="true"
 
 
displaymanager="lightdm"
 
 
# Set to false to disable autologin in the livecd
 
# autologin="true"
 
 
# nonfree mhwd drivers
 
# nonfree_mhwd="true"
 
 
# use plymouth; initcpio hook
 
plymouth_boot="false"
 
 
# use pxe boot; initcpio hook
 
pxe_boot="false"
 
 
# use core packages as defined in pkglist to use in basic profile
 
# basic="false"
 
 
# use extra packages as defined in pkglist to activate a full profile
 
extra="true"
 
 
################ install ################
 
 
# unset defaults to given value
 
# efi_boot_loader="grub"
 
 
# configure calamares for netinstall
 
# netinstall="false"
 
 
# the default url for the netinstall.yaml
 
# netgroups="https://raw.githubusercontent.com/manjaro/iso-profiles/master/shared/netgroups"
 
 
# configure calamares to use chrootcfg instead of unpackfs
 
# chrootcfg="false"
 
 
# use geoip for localization
 
# geoip='true'
 
 
# unset defaults to given values
 
# names must match systemd service names
 
enable_systemd=('avahi-daemon' 'bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
 
disable_systemd=('pacman-init')
 
 
# unset defaults to given values,
 
# names must match openrc service names
 
# enable_openrc=('acpid' 'bluetooth' 'cgmanager' 'consolekit' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 
# disable_openrc=()
 
 
# the same workgroup name if samba is used
 
# smb_workgroup=""
 
 
################# livecd #################
 
 
# unset defaults to given value
 
# hostname="manjaro"
 
 
# unset defaults to given value
 
# username="manjaro"
 
 
# unset defaults to given value
 
# password="manjaro"
 
 
# the login shell
 
# defaults to bash
 
# login_shell=/bin/bash
 
 
# unset defaults to given values
 
# addgroups="video,audio,power,disk,storage,optical,network,lp,scanner,wheel"
 
 
# unset defaults to given values
 
# names must match systemd service names
 
# services in enable_systemd array don't need to be listed here
 
# enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live-net')
 
 
# unset defaults to given values,
 
# names must match openrc service names
 
# services in enable_openrc array don't need to be listed here
 
# enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live-net')
 
  
 +
<br />
  
This config file contains setting options. All default settings are commented. If you want to change them, uncomment them (remove the <code>#</code> symbol in front) and change it.
+
Resize the flag images you downloaded to 20x20 pixels and convert them to be of type xpm.  
  
The following settings are noteworthy:
+
<br />
  
* <code>initsys=</code> lets you choose between systemd and OpenRC. This setting is associated with the <code>>systemd</code> and <code>>openrc</code> flags in your package lists.
+
Rename the flag images to gb.xpm and gr.xpm for United Kingdom and Greece respectively.  
* <code>multilib=</code> setting belongs to the <code>>multilib</code> flag in your package lists. multilib will install basic 32bit libraries on 64bit systems. This increases compatibility for 32bit applications on 64bit systems.
 
* <code>displaymanager=</code> sets the display / login manager your system uses. You need to list your display manager in your package list, too.
 
* <code>nonfree_xorg=</code> refers to proprietary graphics drivers.
 
* <code>plymouth_boot=</code> lets you activate Plymouth (the graphics displayed during boot). Do not forget the <code> plymouth</code>  package in your package list.
 
* <code>pxe_boot=</code> activates PXE boot on your system. Since manjaro-tools 15.1, PXE is enabled by default and this flag is no longer needed.
 
  
* <code>netinstall=</code> activates an additional package selection in calamares. These packages will be downloaded and installed during the installation of the ISO (besides the packages in Packages-Desktop and Packages-Xfce). The list of packages gets chosen from [https://github.com/manjaro/calamares-netgroups this Github repository] according to your ISO profile. Look for a file called <code>packages-systemd.yaml</code>.
+
<br />
  
* <code>chrootcfg=</code>: If both <code>netinstall=true</code> and <code>chrootcfg=true</code> are set, the ISO will become a pure net install. This means that '''no''' packages from Packages-Desktop, Packages-Xfce, Packages-Mhwd, and Packages-Root will get installed during installation. Instead, Calamares offers a comfortable selection screen, where all packages (to be downloaded from a Manjaro mirror and installed on your system) can be selected. Please refer to the following guide for more detailed instructions: [[Build Manjaro Net-Install]]
+
Copy the flag images into the folder /home/jimmy/.config/xxkb that you have previously created.
  
* <code>kernel=</code> lets you set the installed kernel. Do '''not''' include any kernels in your package list! This setting is all you need.
+
<br />
* <code>enable_systemd=</code> let's you set systemd services, which get started on the installed system (and with a similar setting on the livecd). A similar setting is available for OpenRC.
 
  
===Packages-Desktop===
+
Create configuration file for xxkb in user's home folder.
 +
<pre>sudo nano /home/jimmy/.xxkbrc</pre>
  
 +
Edit it to read
 
<pre>
 
<pre>
## Network
+
XXkb.image.path: /home/jimmy/.config/xxkb
>systemd avahi
 
>openrc avahi-openrc
 
>systemd networkmanager
 
>openrc networkmanager-openrc
 
>openrc networkmanager-consolekit
 
networkmanager-openconnect
 
networkmanager-openvpn
 
networkmanager-pptp
 
networkmanager-vpnc
 
networkmanager-dispatcher-ntpd
 
nss-mdns # NSS support for mDNS (optdepend for avahi)
 
>systemd ntp
 
>openrc ntp-openrc
 
mobile-broadband-provider-info
 
modemmanager
 
>systemd openresolv
 
>systemd openssh
 
>openrc openssh-openrc
 
samba
 
 
 
## Libraries for Sound/Audio/Video
 
alsa-firmware
 
>systemd alsa-utils
 
>openrc alsa-utils-openrc
 
ffmpeg
 
gst-libav
 
gst-plugins-bad
 
gst-plugins-base
 
gst-plugins-good
 
gst-plugins-ugly
 
libdvdcss
 
>multilib manjaro-alsa
 
>systemd manjaro-pulse
 
>systemd pulseaudio-bluetooth
 
>systemd pulseaudio-ctl
 
>systemd pulseaudio-zeroconf
 
 
 
## Connect Packages
 
android-tools
 
android-udev
 
gvfs
 
gvfs-afc
 
gvfs-gphoto2
 
gvfs-mtp
 
gvfs-nfs
 
gvfs-smb
 
mtpfs
 
udiskie
 
udisks2
 
 
 
## AUR Support/Development
 
# Missing base-devel packages
 
autoconf
 
automake
 
binutils
 
bison
 
fakeroot
 
flex
 
gcc
 
>multilib gcc-multilib
 
libtool
 
m4
 
make
 
patch
 
pkg-config
 
>multilib lib32-flex
 
# Extra packages for AUR support
 
>extra git
 
>extra patchutils
 
>extra subversion
 
yaourt
 
  
## Fonts
+
XXkb.group.base: 1
cantarell-fonts
+
XXkb.group.alt: 2
# noto-fonts              # default font
 
# noto-fonts-cjk        # big package, ~76 mb compressed
 
# >extra noto-fonts-emoji
 
>extra terminus-font
 
>extra ttf-bitstream-vera
 
# ttf-dejavu            # Installed as gnome-themes-standard dependency
 
>extra ttf-inconsolata
 
>extra ttf-indic-otf
 
>extra ttf-liberation
 
>extra ttf-droid
 
  
## Games
 
>extra steam-manjaro
 
  
## Package management
+
XXkb.mainwindow.type: tray
pamac
+
XXkb.mainwindow.enable: yes
 +
XXkb.mainwindow.appicon: yes
 +
XXkb.mainwindow.border.width: 1
 +
XXkb.mainwindow.label.enable: no
 +
XXkb.mainwindow.border.color: white
 +
XXkb.mainwindow.geometry: 20x20+0+0
 +
XXkb.mainwindow.image.1: gb.xpm
 +
XXkb.mainwindow.image.2: gr.xpm
 +
XXkb.mainwindow.image.3:
 +
XXkb.mainwindow.image.4:
 +
XXkb.mainwindow._delete: no
  
## Java
+
XXkb.button.enable: no
>extra jdk8-openjdk
 
>extra jre8-openjdk-headless
 
>extra jre8-openjdk
 
  
## Printing
+
XXkb.controls.focusout: no
>extra cups
+
XXkb.controls.two_state: no
>extra cups-pdf
+
XXkb.controls.add_when_start: yes
>extra cups-pk-helper
+
XXkb.controls.add_when_create: yes
>extra ghostscript
+
XXkb.controls.add_when_change: no
>extra gsfonts
 
>extra hplip
 
>extra splix
 
 
 
## Optional dependencies for hplip
 
>extra pyqt5-common # For hplip
 
>extra python-pillow # For hplip
 
>extra python-pip # For hplip
 
>extra python-pyqt5  # For hplip gui
 
>extra python-reportlab # For hplip
 
 
 
## Display manager
 
lightdm
 
lightdm-gtk-greeter
 
lightdm-gtk-greeter-settings
 
accountsservice  # Enhanced user accounts handling
 
 
 
## XFCE Group
 
exo
 
garcon
 
gtk-xfce-engine
 
thunar
 
thunar-volman
 
tumbler
 
xfce4-appfinder
 
xfce4-panel
 
xfce4-power-manager
 
xfce4-session
 
xfce4-settings
 
xfce4-terminal
 
xfconf
 
xfdesktop
 
xfwm4
 
xfwm4-themes
 
 
 
## XFCE Extras
 
blueman
 
ffmpegthumbnailer  # tumbler - for video thumbnails
 
freetype2          # tumbler - for font thumbnails
 
gconf              # fix qt-theme
 
gksu
 
gnome-keyring      # fix wlan segfault
 
libgsf            # tumbler - for ODF thumbnails
 
libopenraw        # tumbler - for RAW thumbnails
 
light-locker
 
network-manager-applet
 
menulibre
 
orage
 
poppler-glib      # tumbler - for PDF thumbnails
 
thunar-archive-plugin
 
thunar-media-tags-plugin
 
# >extra xfce4-artwork
 
xfce4-battery-plugin
 
xfce4-clipman-plugin
 
>extra xfce4-cpufreq-plugin
 
>extra xfce4-cpugraph-plugin
 
# xfce4-datetime-plugin
 
>extra xfce4-dict
 
>extra xfce4-diskperf-plugin
 
>extra xfce4-fsguard-plugin
 
>extra xfce4-genmon-plugin
 
>extra xfce4-mailwatch-plugin
 
>extra xfce4-mount-plugin
 
>extra xfce4-mpc-plugin
 
>extra xfce4-netload-plugin
 
>extra xfce4-notes-plugin
 
xfce4-notifyd
 
xfce4-screenshooter
 
>extra xfce4-sensors-plugin
 
>extra xfce4-smartbookmark-plugin
 
>extra xfce4-systemload-plugin
 
xfce4-taskmanager
 
>extra xfce4-time-out-plugin
 
>extra xfce4-timer-plugin
 
>extra xfce4-verve-plugin
 
>extra xfce4-wavelan-plugin
 
>extra xfce4-weather-plugin
 
xfce4-whiskermenu-plugin
 
xfce4-xkb-plugin
 
>systemd pa-applet
 
>systemd pavucontrol
 
 
 
## Themes QT/GTK/SDDM
 
>extra manjaro-backgrounds
 
gnome-icon-theme
 
gnome-themes-standard
 
gtk-theme-breath
 
>systemd plymouth-legacy
 
>systemd plymouth-theme-manjaro-elegant
 
xcursor-simpleandsoft
 
xcursor-vanilla-dmz-aa
 
 
 
## Applications
 
>extra catfish
 
dmidecode # optional dependency inxi
 
engrampa
 
engrampa-thunar-plugin
 
>extra firefox
 
>extra flashplugin
 
>extra galculator-gtk2
 
>extra gimp
 
gparted
 
gufw
 
>extra guayadeque
 
>extra hexchat
 
htop
 
qpdfview
 
>extra qpdfview-djvu-plugin
 
>extra qpdfview-ps-plugin
 
inxi
 
>extra libreoffice-still
 
manjaro-hello
 
manjaro-settings-manager
 
manjaro-settings-manager-notifier
 
>basic midori
 
>extra mlocate
 
mousepad
 
mugshot
 
parole # media player
 
>extra pidgin
 
powertop
 
>extra poppler-data  # CKJ support for pdf
 
>basic sylpheed # mail client
 
>extra thunderbird
 
# vlc-nightly
 
>extra viewnior
 
>extra xfburn
 
>extra yelp
 
 
 
# Optional dependencies engrampa
 
p7zip  # 7Z and ARJ archive support
 
unace  # ACE archive support
 
unrar  # RAR archive support
 
 
 
## Documentation
 
manjaro-documentation
 
 
 
## Settings packages
 
>extra manjaro-xfce-settings
 
>basic manjaro-xfce-minimal-settings
 
manjaro-browser-settings
 
 
 
## Xorg Input Drivers
 
xf86-input-elographics
 
xf86-input-evdev
 
xf86-input-keyboard
 
xf86-input-libinput
 
xf86-input-mouse
 
xf86-input-void
 
 
 
## Xorg Server and Graphics
 
numlockx
 
mesa-demos
 
>multilib lib32-mesa-demos
 
xorg-server
 
xorg-server-utils
 
xorg-twm
 
xorg-utils
 
xorg-xinit
 
xorg-xkill
 
 
 
## Desktop Utils
 
perl-file-mimeinfo
 
xdg-user-dirs
 
xdg-utils
 
xdg-su
 
 
 
## Misc
 
>openrc consolekit-openrc
 
>openrc displaymanager-openrc
 
>openrc pm-utils
 
>openrc cgmanager-openrc
 
manjaro-hotfixes
 
 
</pre>
 
</pre>
  
This file contains a list of packages, which will get installed on your installed ISO (XFCE) '''and''' the LiveCD (the packages in Packages-Live file only get installled on the live ISO). This is a package list with Xfce specific packages (and packages you like to add to your custom Manjaro ISO) of multiple package lists in your ISO profile. The other package lists are more generic.
+
and save.
 
 
You can add or remove package names from this list as you like. You do not need to worry about dependencies when adding package names, just make sure the package name is spelled correctly and the package is available in the Manjaro repositories.
 
 
 
<code>#</code> marks a comment. The rest of the line after the <code>#</code> symbol gets ignored.
 
 
 
<code>>i686</code> is a flag and marks a package, which will only get installed on the 32bit version of your ISO (XFCE).
 
 
 
<code>>x86_64</code> marks a package, which will only get installed on the 64bit version of your ISO (XFCE).
 
 
 
===Adding AUR packages===
 
 
 
If you want to add AUR packages to your ISO, you need to create a online repository and add it to the right <code>pacman-XXXXX.conf</code> file in <code>/usr/share/manjaro-tools/</code>
 
 
 
[https://wiki.manjaro.org/index.php?title=Buildiso_with_AUR_packages:_Using_buildpkg Buildiso with AUR packages: Using buildpkg]
 
 
 
=manjaro-tools.conf=
 
 
 
<code>manjaro-tools.conf</code> is the central configuration file for all tools part of ''manjaro-tools''. Only edit the general and the "buildiso" part to not exceed the scope of this tutorial. If you are not sure what and how to edit it, do '''not''' edit it. You can always use arguments with the <code>buildiso</code> command later.
 
 
 
By default, the systemwide config file is installed in
 
 
 
/etc/manjaro-tools/manjaro-tools.conf
 
 
 
Additionally, a userconfig <code>manjaro-tools.conf</code> file can be placed in your home directory here:
 
 
 
~/.config/manjaro-tools/manjaro-tools.conf
 
 
 
If the userconfig is present, ''manjaro-tools''/''buildiso'' will load the userconfig values, however, if variables have been set in the systemwide config file, these values take precedence over the userconfig. Best practice is to leave the systemwide file untouched. By default it is commented and shows just initialization values done in code.
 
 
 
 
 
=Build your ISO=
 
 
 
Build your ISO with the following command:
 
 
 
buildiso -p xfce
 
 
 
You need to specify the name of your ISO profile after the <code>-p</code> argument. In this case, it is <code>xfce</code>.
 
 
 
If the build process fails with an error, start it again.
 
 
 
Attention: The build process needs at least 10 minutes to complete or much longer when you are using HDDs, slow CPUs, or large ISOs.
 
 
 
 
 
When the build process finishes successfully, the ISO file and the package list will appear in this folder:
 
 
 
/var/cache/manjaro-tools/iso/
 
 
 
 
 
===Example:===
 
You can use arguments with the <code>buildiso</code> command for more build options:
 
 
 
buildiso -p xfce -a i686 -b stable
 
 
 
* <code>-a</code> let's you build for other architectures. Here, it builds a 32bit ISO image on a 64bit host system. You can also set this in your <code>manjaro-tools.conf</code> file.
 
* <code>-b</code> let's you specify the branch. You can also set this in your <code>manjaro-tools.conf</code> file.
 
 
 
You can find other examples of builds using different arguments for ''buildiso'' [https://wiki.manjaro.org/index.php?title=Manjaro-tools#buildiso here].
 
 
 
 
 
=Cleaning your hard drive=
 
 
 
After a successful or failed build, you can get rid of most data (the "raw" ISO with all downloaded packages) by deleting this folder:
 
 
 
sudo rm -r /var/lib/manjaro-tools/buildiso/
 
 
 
 
 
To clean your system of packages files of packages not installed on your system (this includes all the package files downloaded for your custom ISO):
 
 
 
paccache -ruk0
 
 
 
 
 
You can also manually look into
 
 
 
/var/cache/manjaro-tools/
 
 
 
and delete folders or files to your liking. If you want to delete all ISO images, package lists, and cached Xorg packages do:
 
 
 
sudo rm -r /var/cache/manjaro-tools/
 
 
 
 
 
Please remember that all these packages and files are saved for your convenience. If you clean your system like suggested above, you have to download '''all''' packages and build '''all''' images again the next time you want to build your own Manjaro ISO.
 
 
 
 
 
By default, your <code>manjaro-tools.conf</code> file is saved. If you want to delete it, use
 
 
 
rm -r ~/.config/manjaro-tools
 
 
 
=Further Reading=
 
 
 
=== Tutorials for ''manjaro-tools'' and ''buildiso'' ===
 
  
* Source: [https://github.com/manjaro/manjaro-tools Manjaro-tools on GitHub] (always up to date)
+
<br />
* Forum: [https://forum.manjaro.org/t/how-to-create-your-own-manjaro-spin-with-manjaro-tools/1355 How to create your own Manjaro spin with Manjaro-Tools]
 
* Video: [https://www.youtube.com/watch?v=9BxqN326G6o Building Manjaro by Spatry](Tutorial Video)
 
* Building KDE ISO: [[Build KDE Minimal]]
 
  
 +
=Make xxkb autostart when openbox starts=
  
=== [[Manjaro-tools]] (outdated) ===
+
Edit openbox's autostart configuration file
* [https://classicforum.manjaro.org/index.php?board=52.0 Support for Manjaro-Tools] (outdated)
+
<pre>sudo nano /home/jimmy/.config/openbox/autostart</pre>
* [https://classicforum.manjaro.org/index.php?topic=21976.0 Simple buildiso tutorial] (outdated)
 
* [https://classicforum.manjaro.org/index.php?topic=20167.0 How to use Manjaro-Tools] (outdated)
 
* [[Buildiso with AUR packages: Using buildpkg]] (outdated)
 
* [[Buildiso with AUR packages: Using yaourt]] (outdated)
 
  
 +
In section ##Startup, after the last line, add the line
 +
<pre>(sleep 1s && xxkb) &</pre>
  
It is also possible to ask questions on IRC:
+
and save.
* Server: <code>irc.freenode.net</code>
 
* Channel: <code>#manjaro</code>
 
  
 +
<br />
  
 +
=Reboot the operating system=
 +
<pre>sudo reboot</pre>
  
 
[[Category:Contents Page]]
 
[[Category:Contents Page]]

Revision as of 19:10, 27 September 2017



Overview

Sometimes for no apparent reason users face the following dmenu problem:
A. When calling dmenu from a key binding in their environment dmenu comes up but when they continue to select anything in dmenu, it disappears from the screen and does not execute anything.

B. Trying to start dmenu from the terminal, the error

"warning: no locale support"

appears.


Solution

Assuming that you have correctly set up your system's LOCALE settings, here is a simple solution to this problem:

Edit file /usr/bin/dmenu_run

sudo nano /usr/bin/dmenu_run

Add a line setting your LANG variable tou your actual language locale:

LANG="en_GB.UTF-8"

and save.

!!! If you have used the MHWD utility to configure your graphics card, then there will be a file 90-mhwd.conf. For the changes you have made in file 20-keyboard.conf to work, you have to edit this file and comment out the line with the XkbOptions, in section InputClass, as below:

Section "InputClass"
	Identifier          "Keyboard Defaults"
	MatchIsKeyboard	    "yes"
	#Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection


Install & configure graphical language switcher (xxkb)

Install program xxkb

sudo pacman -S xxkb


Create folder in /home/jimmy/.config that will hold the language flag images used by the xxkb switcher

sudo mkdir /home/jimmy/.config/xxkb


Go to any site providing free images of country flags and download the flag images for United Kingdom and Greece.


Resize the flag images you downloaded to 20x20 pixels and convert them to be of type xpm.


Rename the flag images to gb.xpm and gr.xpm for United Kingdom and Greece respectively.


Copy the flag images into the folder /home/jimmy/.config/xxkb that you have previously created.


Create configuration file for xxkb in user's home folder.

sudo nano /home/jimmy/.xxkbrc

Edit it to read

XXkb.image.path: /home/jimmy/.config/xxkb

XXkb.group.base: 1
XXkb.group.alt: 2


XXkb.mainwindow.type: tray
XXkb.mainwindow.enable: yes
XXkb.mainwindow.appicon: yes
XXkb.mainwindow.border.width: 1
XXkb.mainwindow.label.enable: no
XXkb.mainwindow.border.color: white
XXkb.mainwindow.geometry: 20x20+0+0
XXkb.mainwindow.image.1: gb.xpm
XXkb.mainwindow.image.2: gr.xpm
XXkb.mainwindow.image.3: 
XXkb.mainwindow.image.4: 
XXkb.mainwindow._delete: no

XXkb.button.enable: no

XXkb.controls.focusout: no
XXkb.controls.two_state: no
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: no

and save.


Make xxkb autostart when openbox starts

Edit openbox's autostart configuration file

sudo nano /home/jimmy/.config/openbox/autostart

In section ##Startup, after the last line, add the line

(sleep 1s && xxkb) &

and save.


Reboot the operating system

sudo reboot