### Steps to Change `xterm` Font Size via `.Xresources`:
1. **Edit `.Xresources` File**:
Open or create the `.Xresources` file in your home directory:
```bash
nano ~/.Xresources
```
2. **Add the Font Specification**:
Add the following line to set the font size (replace `14` with your desired size):
```plaintext
XTerm*faceSize: 14
```
Alternatively, you can specify a font name directly (e.g., for a fixed-width font):
```plaintext
XTerm*font: -misc-fixed-medium-r-normal--14-130-100-100-c-70-iso8859-1
```
Or for a modern font (e.g., DejaVu Sans Mono):
```plaintext
XTerm*font: xft:DejaVu Sans Mono:size=14
```
3. **Apply the Changes**:
After saving the file, run the following command to apply the changes:
```bash
xrdb -merge ~/.Xresources
```
4. **Restart `xterm`**:
Close any existing `xterm` windows and reopen them. The new font size should take effect.
### Troubleshooting:
- If the changes don’t apply, ensure there are no syntax errors in `.Xresources`.
- Check if another configuration file (e.g., `/etc/X11/app-defaults/XTerm`) is overriding your settings.
- Run `xterm -help` to verify supported options and fonts.
### Example `.Xresources` Entry:
```plaintext
! XTerm settings
XTerm*faceSize: 14
XTerm*faceName: DejaVu Sans Mono
XTerm*font: xft:DejaVu Sans Mono:size=14
```
After making these changes, the font size should persist across `xterm` sessions.
If the `xterm` font size works when started manually (e.g., `xterm -fs 14`) but not when launched from the Openbox menu, the issue is
likely due to how Openbox handles the command. Here’s how to fix it:
---
### **Solution 1: Modify the Openbox Menu Entry**
Openbox menu entries are defined in `~/.config/openbox/menu.xml` (or `/etc/xdg/openbox/menu.xml` for system-wide settings). You need to
ensure the `xterm` command in the menu includes the font size option.
1. **Edit the Openbox Menu File**:
```bash
nano ~/.config/openbox/menu.xml
```
(If the file doesn’t exist, check `/etc/xdg/openbox/menu.xml`.)
2. **Find the `xterm` Entry**:
Look for a line like this:
```xml
<item label="XTerm">
<action name="Execute">
<command>xterm</command>
</action>
</item>
```
3. **Add the Font Size Option**:
Modify the `<command>` to include `-fs 14` (or your preferred size):
```xml
<item label="XTerm">
<action name="Execute">
<command>xterm -fs 14</command>
</action>
</item>
```
4. **Reload Openbox**:
Save the file and reload Openbox to apply changes:
```bash
openbox --reconfigure
```
---
### **Solution 2: Use `.Xresources` Correctly (Alternative)**
If you prefer to rely on `.Xresources` instead of hardcoding `-fs` in the menu, ensure:
1. Your `.Xresources` file is correctly set up (as you did earlier).
2. The `xrdb -merge ~/.Xresources` command was run (or add it to your startup scripts like `~/.xinitrc` or `~/.config/openbox/autostart`).
---
### **Solution 3: Debug Openbox Menu Execution**
If the issue persists, test whether Openbox is passing the command correctly:
1. Temporarily replace the `xterm` command in `menu.xml` with a test command (e.g., `echo "Test"`).
2. If the test command works, the problem is with how `xterm` is being called.
3. If the test command doesn’t work, Openbox may not be reading the correct `menu.xml` file (check paths with `openbox --help`).
---
### **Final Notes**
- Openbox menus are static, so changes require manual edits to `menu.xml`.
- If you use a dynamic menu generator (e.g., `obmenu`), you’ll need to modify its configuration instead.
likely due to how Openbox handles the command. Here’s how to fix it:
---
### **Solution 1: Modify the Openbox Menu Entry**
Openbox menu entries are defined in `~/.config/openbox/menu.xml` (or `/etc/xdg/openbox/menu.xml` for system-wide settings). You need to
ensure the `xterm` command in the menu includes the font size option.
1. **Edit the Openbox Menu File**:
```bash
nano ~/.config/openbox/menu.xml
```
(If the file doesn’t exist, check `/etc/xdg/openbox/menu.xml`.)
2. **Find the `xterm` Entry**:
Look for a line like this:
```xml
<item label="XTerm">
<action name="Execute">
<command>xterm</command>
</action>
</item>
```
3. **Add the Font Size Option**:
Modify the `<command>` to include `-fs 14` (or your preferred size):
```xml
<item label="XTerm">
<action name="Execute">
<command>xterm -fs 14</command>
</action>
</item>
```
4. **Reload Openbox**:
Save the file and reload Openbox to apply changes:
```bash
openbox --reconfigure
```
---
### **Solution 2: Use `.Xresources` Correctly (Alternative)**
If you prefer to rely on `.Xresources` instead of hardcoding `-fs` in the menu, ensure:
1. Your `.Xresources` file is correctly set up (as you did earlier).
2. The `xrdb -merge ~/.Xresources` command was run (or add it to your startup scripts like `~/.xinitrc` or `~/.config/openbox/autostart`).
---
### **Solution 3: Debug Openbox Menu Execution**
If the issue persists, test whether Openbox is passing the command correctly:
1. Temporarily replace the `xterm` command in `menu.xml` with a test command (e.g., `echo "Test"`).
2. If the test command works, the problem is with how `xterm` is being called.
3. If the test command doesn’t work, Openbox may not be reading the correct `menu.xml` file (check paths with `openbox --help`).
---
### **Final Notes**
- Openbox menus are static, so changes require manual edits to `menu.xml`.
- If you use a dynamic menu generator (e.g., `obmenu`), you’ll need to modify its configuration instead.
Here’s an example of a minimal `.xinitrc` file that merges `.Xresources` and then starts Openbox:
```bash
#!/bin/sh
# Merge Xresources
xrdb -merge ~/.Xresources
# Start Openbox
exec openbox-session
```
### Key Points:
1. **Order Matters**:
- `xrdb -merge` must run **before** `exec openbox-session` to ensure the font settings are applied when Openbox starts.
2. **`exec`**:
- Using `exec` replaces the current shell process with Openbox, avoiding unnecessary background processes.
3. **Permissions**:
- Ensure `.xinitrc` is executable:
```bash
chmod +x ~/.xinitrc
```
4. **Testing**:
- Run it manually to verify:
```bash
startx
```
### Alternative (If Using a Display Manager):
If you log in via a display manager (e.g., LightDM, SDDM), `.xinitrc` may not be used. Instead, add the `xrdb` command to Openbox’s
autostart file:
```bash
echo "xrdb -merge ~/.Xresources" >> ~/.config/openbox/autostart
```
Then reload Openbox:
```bash
openbox --reconfigure
```bash
#!/bin/sh
# Merge Xresources
xrdb -merge ~/.Xresources
# Start Openbox
exec openbox-session
```
### Key Points:
1. **Order Matters**:
- `xrdb -merge` must run **before** `exec openbox-session` to ensure the font settings are applied when Openbox starts.
2. **`exec`**:
- Using `exec` replaces the current shell process with Openbox, avoiding unnecessary background processes.
3. **Permissions**:
- Ensure `.xinitrc` is executable:
```bash
chmod +x ~/.xinitrc
```
4. **Testing**:
- Run it manually to verify:
```bash
startx
```
### Alternative (If Using a Display Manager):
If you log in via a display manager (e.g., LightDM, SDDM), `.xinitrc` may not be used. Instead, add the `xrdb` command to Openbox’s
autostart file:
```bash
echo "xrdb -merge ~/.Xresources" >> ~/.config/openbox/autostart
```
Then reload Openbox:
```bash
openbox --reconfigure